脚本特色
- 全自动无人值守安装;
- 支持各主流VPS商家;
- 重装前可预先指定 ssh 密码、端口、固件、镜像源等参数,执行重装命令时,如果未指定密码、端口。重装后的系统默认用户:root,默认端口:22,默认密码:LeitboGi0ro,首次 ssh 机器后请立即修改密码;
- 对于 Debian 系统,安装时附带的固件源为国外,国内 VPS 连接速度很慢,长时间连接无速度往往会下载失败,可指定 –cdimage “cn”,将源切换到国内中科大的,以提高下载速度;
- 安装时避免进入低内存模式(Debian 特有)后需要进行手动配置,导致无法自动化部署安装的内存量检测阈值,256M 以上机型即使安装时进入低内存模式,也可以自动化进行,这点对内存少于 1GB 的机型尤为重要。已在搬瓦工 512M 机型做过测试,萌咖原版脚本重装 Debian 11 时,会跳出内核恐慌(Kernel Panic)或低内存模式,后者需要手动配置安装,首先必须手动选择需要加载的硬件驱动,项目多且复杂,不同机器的硬件各有差别,选择稍有错误,就会导致驱动安装不全,最后系统安装失败,失去了自动化安装的特性,本脚本可保证小内存 VPS 低内存模式自动化安装过程顺利进行。低于 768M 小内存机型安装前执行脚本时,不要附带“-firmware”或“-firmware –cdimage”参数,否则重启后无法进入低内存模式安装界面,导致安装失败。
- 由于 Ubuntu 22.04 放弃了 netboot 安装方式,并且官方不再提供相关网络启动镜像,所以该脚本暂不支持 Ubuntu 22.04 及以上版本。经实测,市面上所有号称“支持”Ubuntu 22.04 一键重装的脚本都是假的,最后都会卡在无法下载“initrd.img”和“linuz”这两个必要文件,最后终止安装,请谨慎鉴别。
下载
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
可指定参数案例
bash InstallNET.sh -d/u/c(系统种类,debian/ubuntu/centos) 11(系统版本) -v 64(系统位数,32 或 64 或 arm64) -port "ssh 登陆端口" -pwd "ssh 登录密码" -a(自动安装)/m(在 VNC 里手动安装) -mirror "系统镜像源,系统安装完成后的默认软件安装包源也是这个" -firmware(带固件) --cdimage "cn"(配合 firmware 参数使用,此项仅适用于在国内要重装成 Debian 的 VPS)
快速上手
Debian 8
bash InstallNET.sh -d 8 -v 64 -a
Debian 9
bash InstallNET.sh -d 9 -v 64 -a
Debian 10
bash InstallNET.sh -d 10 -v 64 -a
Debian 11 (中国大陆境内)
选择带固件安装(–firmware)时,推荐国内机器安装源的命令。
清华
bash InstallNET.sh -d 11 -v 64 -a -mirror "https://mirrors.tuna.tsinghua.edu.cn/debian/" -firmware --cdimage "cn"
网易
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://mirrors.163.com/debian/" -firmware --cdimage "cn"
腾讯云
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://mirrors.cloud.tencent.com/debian/" -firmware --cdimage "cn"
阿里云
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://mirrors.aliyun.com/debian/" -firmware --cdimage "cn"
Debian 11 (海外)
如果你的机器在中国大陆以外,连接速度都不会差,就近选择官方源即可。
日本
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.riken.jp/Linux/debian/debian/" -firmware
香港
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.hk.debian.org/debian/" -firmware
新加坡
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.sg.debian.org/debian/" -firmware
韩国
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://studenno.kugi.kyoto-u.ac.jp/debian/" -firmware
台湾
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.tw.debian.org/debian/" -firmware
美国
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://debian.csail.mit.edu/debian/" -firmware
加拿大
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.ca.debian.org/debian/" -firmware
英国
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.uk.debian.org/debian/" -firmware
德国
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.de.debian.org/debian/" -firmware
法国
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.fr.debian.org/debian/" -firmware
俄罗斯
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.ru.debian.org/debian/" -firmware
澳大利亚
bash InstallNET.sh -d 11 -v 64 -a -mirror "http://ftp.au.debian.org/debian/" -firmware
Debian 当地源的格式基本上都是:
http://ftp.地区名称缩写.debian.org/debian/
如果以上例子里不包含你 VPS 所在地,去国家地区代码找到对应的缩写,替换掉上面链接里“地区名称缩写”位置,把新链接放浏览器里访问一下,如果出现一个文件服务器目录,即可使用。日本的源来自日本理化学研究所,是一所科研机构,下载带宽很足;韩国的本地官方源(ftp.kr.debian.org)总是宕机,故换成京都大学的;美国的源来自麻省理工学院,请放心使用。
通用的 Debian 源链接:
http://ftp.debian.org/debian/
Ubuntu 16.04
bash InstallNET.sh -u 16.04 -v 64 -a
Ubuntu 18.04
bash InstallNET.sh -u 18.04 -v 64 -a
Ubuntu 20.04
bash InstallNET.sh -u 20.04 -v 64 -a
Cent OS 6
bash InstallNET.sh -c 6.10 -v 64 -a
故障排查
一个典型的正常安装界面
通过 Ping 命令判断安装状态
启动 Windows Powershell,输入:
ping IP -t
对于无 VNC 功能的机器,中途建议始终 ping 机器,通过机器失联间隔来判断安装状态,连续的“请求超时”会出现两次,第一次是准备好镜像后重启的一段时间,第二次是系统重装流程结束后再次重启进入新系统的一段时间,整个重装流程时间在5分钟至20分钟左右不等,速度与机器 CPU 主频、RAM 容量、磁盘 I/O 性能等因素有关,请耐心等待。
如果 ping 过发现机器经历过第二次失联,第一次失联和第二次失联中间能始终正常 ping 通,最后却无法 ssh 连接,请通过网页或 API 进入服务商控制台,将机器重启一下即可。如果发现机器第一次重启后就彻底失联,请向我或向萌咖提交反馈。
Oracle 机器使用脚本重装,第二次重启后失联,且过了很长一段时间,机器无法 ping 通,也无法 ssh,此时用 OCI-Help 脚本重启实例,问题解决。