项目地址,欢迎 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 的处理,其他等等细节处理的也很完善。
下载前记得更新源,安装 wget,AlpineLinux需要安装bash:
- wget –no-check-certificate -qO InstallNET.sh ‘https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh’ && chmod a+x InstallNET.sh
复制代码
国内机器现在可以从 Gitee 下载:
- 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
- bash InstallNET.sh -debian
复制代码
Kali rolling
- bash InstallNET.sh -kali
复制代码
ARM64 AMD64 机都 OK,甲骨文 Oracle ARM 机装虽然重启就黑屏,什么提示都没有,在 VNC 里都没法调试,但只要是从面板自带模板纯净系统中安装过去的,100% 保证能成功,VNC 里看到黑屏别怕,别手欠中途硬重启,不知道 Kali 是什么的,反正你就知道 Kali 是日常、电影电视剧里黑客经常用的,自带很多安全测试工具,贼鸡儿炫酷的一个 Debian 发行版就行。Kali 有三个版本,按激进程度大小排列,分别为 experimental > dev > rolling,普通人不爱折腾的,最好以使用 rolling 为主。
Alpine Linux Edge
- bash InstallNET.sh -alpine
复制代码
CentOS 9 stream
- bash InstallNET.sh -centos
复制代码
AlmaLinux 9
- bash InstallNET.sh -almalinux
复制代码
RockyLinux 9
- bash InstallNET.sh -rockylinux
复制代码
Fedora 38
- bash InstallNET.sh -fedora
复制代码
Ubuntu 22.04
- bash InstallNET.sh -ubuntu
复制代码
通过启动中介AlpineLinux系统,在中介系统中dd Ubuntu 官方镜像实现,仅支持从IPv4静态或动态启动,双栈机进入Ubuntu后IPv6能配好,纯IPv6、1GB内存以下机器不支持。
使用 netbootxyz 手动重装(仅限 x86 BIOS)
- bash InstallNET.sh -netbootxyz
复制代码
指定源,输入系统和对应版本后,加参数“-mirror”,如:
- bash InstallNET.sh -debian 12 -mirror “http://ftp.riken.jp/Linux/debian/debian/”
复制代码
默认密码如下:
- LeitboGi0ro
复制代码
由于AlpineLinux和Ubuntu采用明文传递密码参数到配置文件,附加特殊符号可能会导致sed处理时出错,所以AlpineLinux和Ubuntu默认密码统一为 LeitboGi0ro 且暂不支持修改。
密码若要自定义,可添加 -pwd ‘密码内容’ 修改,密码字段建议前后使用单英文引号(’ ‘)括起来,以免 shell 将双英文引号(” “)中带特殊字符的密码当做命令传递,造成错误。支持全系受支持的系统,不要设置的过长过复杂,例:
- -pwd ‘xiaoming’
复制代码
特别的是,如果密码中带有英文单引号(’),请一定在该单引号前加 ”’ 做转义,也就是说,以下转义过的字符才和一个单引号等价:
- ”’
复制代码
也就是说,”’ 才等于实际密码中的 ‘ 符号,比如你密码要设置为:’xiaoming’,那么如下输入才是正确的:
- -pwd ””xiaoming””
复制代码
如果使用的是默认密码,安装后请立即修改!
默认ssh端口随原系统,可添加 -port 端口号 修改,支持全系受支持的系统,范围“1-65535”,如果给错或无法确定原系统端口,后备值为:
- 22
复制代码
例:
- -port “12345”
复制代码
如果想要强制双网动态配置,请输入:
- bash InstallNET.sh -debian 12 –network “dhcp”
复制代码
如果想要强制双网静态配置,请输入:
- bash InstallNET.sh -debian 12 –network “static”
复制代码
如果想要纯手动模式安装,比如用于调试等,请输入(要求必须能用 VNC 访问机器):
- bash InstallNET.sh -debian 12 –allbymyself
复制代码
如果想要使用 netbootxyz 纯手动模式安装其受支持的系统,比如 Archlinux 等,请输入(要求必须能用 VNC 访问机器,仅 x86_64 AMD64 架构,BIOS 固件机器使用,甲骨文 UEFI 固件机器用 netbootxyz 启动,请参考此教程:https://zhuanlan.zhihu.com/p/97527349):
- 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
- bash InstallNET.sh -debian 12 –setipv6 “0关闭,1开启”
复制代码
Debian 全世界各国家、地区源列表:
- https://www.debian.org/mirror/list.html
复制代码
Kali 全世界各国家、地区源列表:
- https://http.kali.org/README.mirrorlist
复制代码
CentOS 7 和 8-stream,全世界各国家、地区源列表:
- https://www.centos.org/download/mirrors/
复制代码
CentOS 9-stream 及以后全世界各国家、地区源列表:
- https://admin.fedoraproject.org/mirrormanager/mirrors/CentOS
复制代码
AlmaLinux 全世界各国家、地区源列表:
- https://mirrors.almalinux.org/
复制代码
RockyLinux 全世界各国家、地区源列表:
- https://mirrors.rockylinux.org/mirrormanager/mirrors
复制代码
Fedora 全世界各国家、地区源列表:
- https://admin.fedoraproject.org/mirrormanager/mirrors/Fedora
复制代码
Ubuntu 全世界各国家、地区源列表:
- https://launchpad.net/ubuntu/+cdmirrors
复制代码
已知问题:
- Nginx 对 Debian12 支持不佳,安装以后 apt-update 会报错;
- Debian 12 自带 Linux 6.1.0.x 版本内核,安装 Xanmod 6.1 LTS 内核后,两者会有冲突,无论在重启前,将系统自带 6.1.0.x 内核卸载,选择用 Xanmod 6.1 LTS 内核启动,还是选择保留系统自带内核启动,都会无限重启,请慎重操作!
卸载 Debian 12 自带内核命令:
- apt autoremove -y –purge linux-image-6.1.0-7-amd64 linux-image-amd64
复制代码
- Linode 的机器安装完成后,需要在面板里将机器引导从它自带的 grub2 变成全盘才能正常启动,参见我另外一个贴:https://hostloc.com/forum.php?mod=viewthread&tid=1166099