全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: 天权璇玑
打印 上一主题 下一主题

[美国VPS] Linux一键重装支持Debian 12,Ubuntu 22.04,史上最强

  [复制链接]
41#
 楼主| 发表于 2023-4-26 18:07:56 | 显示全部楼层
巴勒蒙干 发表于 2023-4-22 18:39
你的这些思路建立在不科学的设计之上,而且也没有从源头解决问题。

1,你不能在一台机器上做apt update  ...

ARM64 和 AMD64 机器上的 Debian 类系统的 grub 配置区别不大,给你一个案例参考:

文件目录:
/boot/grub/grub.cfg

menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-25a7c9e2-3e8e-43d4-ac73-83d119506622' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod xfs
        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  25a7c9e2-3e8e-43d4-ac73-83d119506622
        else
          search --no-floppy --fs-uuid --set=root 25a7c9e2-3e8e-43d4-ac73-83d119506622
        fi
        echo    'Loading Linux 6.1.0-7-amd64 ...'
        linux   /boot/vmlinuz-6.1.0-7-amd64 root=UUID=25a7c9e2-3e8e-43d4-ac73-83d119506622 ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-6.1.0-7-amd64
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-25a7c9e2-3e8e-43d4-ac73-83d119506622' {
        menuentry 'Debian GNU/Linux, with Linux 6.1.0-7-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-7-amd64-advanced-25a7c9e2-3e8e-43d4-ac73-83d119506622' {
                load_video
                insmod gzio
                if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                insmod part_gpt
                insmod xfs
                set root='hd0,gpt2'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  25a7c9e2-3e8e-43d4-ac73-83d119506622
                else
                  search --no-floppy --fs-uuid --set=root 25a7c9e2-3e8e-43d4-ac73-83d119506622
                fi
                echo    'Loading Linux 6.1.0-7-amd64 ...'
                linux   /boot/vmlinuz-6.1.0-7-amd64 root=UUID=25a7c9e2-3e8e-43d4-ac73-83d119506622 ro  quiet
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-6.1.0-7-amd64
        }
                menuentry 'Debian GNU/Linux, with Linux 6.1.0-7-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-7-amd64-recovery-25a7c9e2-3e8e-43d4-ac73-83d119506622' {
                load_video
                insmod gzio
                if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
                insmod part_gpt
                insmod xfs
                set root='hd0,gpt2'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  25a7c9e2-3e8e-43d4-ac73-83d119506622
                else
                  search --no-floppy --fs-uuid --set=root 25a7c9e2-3e8e-43d4-ac73-83d119506622
                fi
                echo    'Loading Linux 6.1.0-7-amd64 ...'
                linux   /boot/vmlinuz-6.1.0-7-amd64 root=UUID=25a7c9e2-3e8e-43d4-ac73-83d119506622 ro single
                echo    'Loading initial ramdisk ...'
                initrd  /boot/initrd.img-6.1.0-7-amd64
        }
}
42#
 楼主| 发表于 2023-4-28 20:42:15 | 显示全部楼层
巴勒蒙干 发表于 2023-4-22 18:39
你的这些思路建立在不科学的设计之上,而且也没有从源头解决问题。

1,你不能在一台机器上做apt update  ...

CentOS 7 的 menuentry 是一段完整的,8 9 以后只有简写版,所以我要在代码里加入一个模板,读取系统里有的配置,和新的引导文件位置,做一个新的 menuentry:

  1. cat >> /etc/grub.d/40_custom <<EOF
  2. menuentry 'Install $Relese $DIST $VER' --class $linux_relese --class gnu-linux --class gnu --class os {
  3.   load_video
  4.   set gfxpayload=text
  5.   insmod gzio
  6. $(cat /tmp/grub.new)
  7.   linux$BootHex $BootDIR/vmlinuz $BOOT_OPTION
  8.   initrd$BootHex $BootDIR/initrd.img
  9. }
  10. EOF
复制代码
43#
 楼主| 发表于 2023-4-29 17:30:25 | 显示全部楼层

感谢支持!
44#
 楼主| 发表于 2023-4-29 19:50:01 | 显示全部楼层
李某某 发表于 2023-4-23 18:09
加密码 好像提示错误

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

  1. -pwd 'xiaoming'
复制代码


特别的是,如果密码中带有英文单引号('),请一定在该单引号前加如下字符做转义

  1. '\'
复制代码


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

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

45#
 楼主| 发表于 2023-4-29 20:11:33 | 显示全部楼层
巴勒蒙干 发表于 2023-4-29 19:54
我晕倒。你脚本接受密码的地方,直接用变量名=''定义啊

shell 传递变量的方式只有这种,用双引号不是好选择,只能用单引号,单引号里如果还有单引号,必须把单引号 ' 变成 '\'' 转义

点评

5k狗喜欢点评骂人,又最接受不了别人点评骂它。开贴举报要版主封号,被反证双标就255帖子。原贴截图 http://gg.gg/13uvoc  发表于 2023-4-30 10:02
46#
 楼主| 发表于 2023-4-29 21:00:08 | 显示全部楼层
李某某 发表于 2023-4-29 20:49
感谢回复。现在nginx好像还不支持debian12,安装以后aptupdate会报错

嗯,Debian 12 预计今年(2023)下半年发布,新系统肯定有很多不兼容的
47#
 楼主| 发表于 2023-4-29 23:05:03 | 显示全部楼层

感谢支持
48#
 楼主| 发表于 2023-5-1 00:07:46 | 显示全部楼层
伊斯蓝 发表于 2023-4-30 23:55
ruvds的三毛机(现在是四毛机了)dd失败

我也有4毛机,到时候测试一下,以前dd成功过
49#
 楼主| 发表于 2023-5-1 19:38:55 | 显示全部楼层

感谢支持
50#
 楼主| 发表于 2023-5-2 04:00:01 | 显示全部楼层
支持fedora 38
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-9 05:42 , Processed in 0.071874 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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