如果你不是root用户,请尝试执行以下命令切换获取root用户权限:
sudo -s
切换到root用户的默认方向
cd ~
然后继续下载并执行这个脚本。
依赖项和操作系统支持以下列表,以安装到脚本支持的操作系统:
Debian系列(Debian / Ubuntu / Kali):
apt update -y
apt install wget -y
RedHat系列,仅基于RedHat 7+,grub2(CentOS / AlmaLinux / CloudLinux / RockyLinux / OracleLinux / Fedora / VzLinux / ScientificOS / RedHat Enterprise Linux / TennisOpenOS / AWS AmazonLinux / AlibabaCloudLinux或AliyunLinux / OpenAnolis):
yum install wget -y
或者(适用于 Redhat 8+):
dnf install wget -y
Alpine Linux:
apk update
apk add bash wget
sed -i 's/root:\/bin\/ash/root:\/bin\/bash/g' /etc/passwd
下载:
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
中国大陆服务器:
wget --no-check-certificate -qO InstallNET.sh 'https://gitee.com/mb9e8j2/Tools/raw/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh
快速启动
如果需要添加其他参数,则必须指定特定的分布名称!
Debian 12
bash InstallNET.sh -debian
卡利滚动
bash InstallNET.sh -kali
Alpine Linux Edge
bash InstallNET.sh -alpine
Alpine Linux 是一种轻量级的 Linux 版本,对性能较低的机器比较友好,系统内存至少需要 256MB。
CentOS 9 流
bash InstallNET.sh -centos
AlmaLinux 9
bash InstallNET.sh -almalinux
RockyLinux 9
bash InstallNET.sh -rockylinux
Fedora 39
bash InstallNET.sh -fedora
Ubuntu 22.04
bash InstallNET.sh -ubuntu
适用于工作站的 Windows 11 专业版
bash InstallNET.sh -windows
SSH 或 RDP 服务的默认配置
推荐的桌面终端客户端是Xshell或Putty。
默认用户名
对于 Linux:root
对于 Windows:管理员
默认密码
对于 Linux:LeitboGi0ro
对于 Windows:Teddysun.com
默认端口
Linux:与原先系统一样,以终端方式登录,
若没有指定其他ssh密码或端口,系统安装完成后,必须立即修改默认密码或改用ssh key登录,防止非法访问!
Windows:3389
参数详细说明
-debian 7-12:Debian 7 及更高版本
-kali rolling/dev/experimental:Kali Rolling,开发和实验,显然最推荐“Kali Rolling”。
-centos 7 或 8/9-stream:CentOS 7 及更高版本
-alpine 3.16-3.18/edge:Alpine Linux 3.16 及更高版本,为了保持更新到最新版本,显然最推荐“edge”。
-almalinux/alma 8/9 : AlmaLinux 8 及更高版本
-rockylinux/rocky 8/9 : RockyLinux 8 及更高版本
-fedora 38/39:Fedora 38 及更高版本
-ubuntu 20.04/22.04/24.04(测试版,不稳定,请勿在生产环境中安装!):Ubuntu 20.04 及更高版本
-windows 10/11/2012/2016/2019/2022:
可选发行版列表:
- Windows 10 Enterprise LTSC 22H2 适用于简体中文和日语,23H2 适用于英语
- Windows 11 Pro for Workstation 22H2 为简体中文和日语,23H2 为英语
- Windows Server 2012 R2
- Windows 服务器 2016
- Windows 服务器 2019
- Windows Server 2022
注意:英文版 Windows 10 和 11 23H2 优先使用由ntdev开发和优化的 tiny10 和 tiny11 基础镜像。
使用“bash InstallNET.sh -windows distribution number”安装 Windows 支持 IPv4/IPv6 dhcp 或静态,将当前 OS 磁盘分区从默认的 15GB dd 镜像扩展到驱动器的实际容量。上述自动设置步骤必须在管理员用户登录后执行。例如,如果上游网络的路由器仅支持静态配置方法,因此无法通过 RDP 访问服务器,则可以先通过 VNC 登录到新安装的系统。
所有 Windows dd 镜像都重新打包了云虚拟化所需的 incepted 驱动程序,由 Teddy Sun 提供并托管在https://dl.lamp.sh/vhd/上。感谢并赞赏他的贡献,以下是他的 github 和博客页面:
https://github.com/teddysun/
https://teddysun.net/
https://teddysun.com/
-lang/-language “cn, en 或 jp”:此选项用于设置 Windows dd 映像的语言,例如:-windows 10 -lang “en”,cn 为简体中文,en 为英文,jp 为日文,默认为 en。不适用于 Linux 发行版。
-port “”:可以预先指定系统的 ssh 端口,范围是 1~65535,此选项对安装 Windows 时无效,默认取决于原系统,如果获取该值失败,该值将回退为 ’22’。
-pwd/-password ”:可预先指定目标安装系统的 ssh 密码。Redhat 系列、Debian/Kali 的原生安装方式可支持,不适用于 AlpineLinux 以及那些将通过“覆盖打包映像模式”(dd) 方法安装的操作系统,如 Ubuntu、Windows 和 Redhat 安装(仅适用于低内存容量环境)。建议在整个密码之间包含几个撇号,如果密码中有一个或多个撇号,则应使用“ ‘\ ”替换原来的撇号,以防止它在 shell 中无法正确表达和处理!默认值为 ‘LeitboGi0ro’。
-hostname “”:您可以为新安装的 Linux 系统预先指定主机名,不建议使用空值或包含除连字符以外的特殊符号。如果您原系统的主机名为“localhost”,则为空或您希望随机指定(-hostname “random”),则该值的预期格式为“实例-服务器时间的年月日-服务器时间的时分。默认值取决于原系统。
-dd/–image “DD image from a valid url”:此参数用于 KVM 或 XEN 虚拟化平台中的 dd 模式。此选项适用于“覆盖打包映像模式”。
在任何内存容量下安装 Ubuntu,在低内存模式下安装 RockyLinux 8+ 和 AlmaLinux 9+,使用“bash InstallNET.sh -ubuntu/rocky/alma/windows”安装 Windows,中间处理程序是 AlpineLinux,如果系统硬盘 I/O 太低,RockyLinux 8+、AlmaLinux 9+ 和 Windows 的 dd 安装方法可能需要很长时间甚至长达 40 分钟或更长时间,请耐心等待直至安装完成。
DD 任何您想要的系统的步骤:
中间处理 Linux 系统是 Debian 12,其步骤如下,无需任何操作系统分配:
bash InstallNET.sh -dd 'DD image download URL'
基于物理硬件、Intel网卡、kimsufi等的服务器:将netboot改为救援模式,从邮箱接收临时用户名和密码,登录救援linux,执行:
wget -O- 'DD download URL' | xzcat | dd of=/dev/sda
等到下载和解压全部完成,将netboot改为正式模式,退出救援Linux,进入新安装的系统:
reboot
-filetype “gz/xz”:确定 DD 文件类型,不仅支持“.gz”(默认),还可以支持“.xz”。
-timezone “like Asia/Tokyo etc”:表示手动分配时区,如果输入参数的格式不正确或当前操作系统不支持,则该值将恢复为“Asia/Tokyo”。如果未分配该参数,则该值取决于客户机 IP 地址的地理位置,如果您使用代理通过 ssh 服务连接到服务器,则自动时区配置可能不适合您。此选项对 Windows 无效。
-raid “0, 1, 5, 6 或 10”:在 Debian 12、Kali rolling、CentOS 9-stream、AlmaLinux 9、RockyLinux 9、Fedora 38 上使用原生安装方式测试成功,raid 0、1、5、6 或 10 个磁盘的 raid 分区配方,不适合 dd 安装,raid 0 或 1 至少需要 2 个磁盘,raid 5 至少需要 3 个磁盘,raid 6 或 10 至少需要 4 个磁盘,如果你的机器只有一块硬盘或者所有驱动器的容量不一样或者在虚拟环境中,请不要分配它!
-setdisk “一个磁盘或全部磁盘的名称”:如果你的机器有2个或更多硬盘,并且每个硬盘在安装过程中都要格式化,你可以指定-setdisk“all”来启用它,数据是无价的,你应该小心处理它们!或者你可以允许系统安装在一个磁盘上,如“vdc”或“/dev/sdb”,此参数仅适用于Debian / Redhat系列并且与“-raid”冲突。
-swap/-virtualmemory/-virtualram “数字,单位为 MB”:默认为“0”,表示不允许交换,您可以预先指定硬盘上的一定容量的空间来为目标系统启用交换,例如“-swap ‘1024’”分配 1GB 交换,不适用于 Raid、AlpineLinux、dd 模式。
-filesystem “ext4 或 xfs”:默认为“ext4”,您可以为目标系统预先指定一种文件系统,仅适用于 Debian/Kali。
-partition “mbr” 或 “gpt”:默认为 “mbr”,您可以指定 “gpt” 使用 GUID 分区表格式化硬盘,如果当前硬盘容量超过 2TB,则会自动激活 “gpt” 分区配方,这仅适用于 Debian/Kali、单硬盘格式化环境,不适用于 Raid。
–nomemcheck:强制禁用内存检查,以便您可以在目标机器的任意大小的内存上安装任意操作系统,但不能保证安装是否会成功,此选项仅用于故障排除。
–cloudkernel:将正式的Linux内核替换为云内核,因为在云计算平台的虚拟机环境中,许多硬件驱动程序(如打印机、扫描仪、声卡、USB控制器等)都不是必需的,在后者中将被消除,以帮助减少内存和硬盘的空间占用。在raid或dd(Windows)模式下,将禁止安装云内核。–cloudkernel“0”表示禁止强制安装Linux云内核,–cloudkernel“1”表示允许强制安装云内核。此选项仅对安装到Debian 11+/Kali/AlpineLinux有效。在某些硬件(如Oracle Cloud arm64服务器)上执行云内核会导致VNC中的客户机显示被禁用,为避免这种情况,您可以分配–cloudkernel“0”切换到强制安装传统Linux内核。对于VMware和VirtualBox的虚拟化,安装云内核将导致启动失败。
–motd:启用插入一组修改后的 MOTD(每日消息)脚本,以方便在通过 ssh shell 连接时检查服务器的执行状态,默认禁用,仅适用于 Debian/Kali/AlpineLinux。
–bbr:通过向“/etc/sysctl.d/99-sysctl.conf”添加参数和值来为当前内核启用BBR(瓶颈带宽和往返传播时间),包括:
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_rmem = 8192 262144 536870912
net.ipv4.tcp_wmem = 4096 16384 536870912
net.ipv4.tcp_adv_win_scale = -2
net.ipv4.tcp_collapse_max_bytes = 6291456
net.ipv4.tcp_notsent_lowat = 131072
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_max = 536870912
net.core.wmem_max = 536870912
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 32768
net.ipv4.tcp_max_tw_buckets = 65536
net.ipv4.tcp_abort_on_overflow = 1
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_max_syn_backlog = 32768
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_intvl = 3
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.ip_forward = 1
fs.file-max = 104857600
fs.inotify.max_user_instances = 8192
fs.nr_open = 1048576
优化高延迟、低带宽的网络环境,仅对 Debian 11 及以上版本有效。
注意:模块“tcp_collapse_max_bytes”是 Cloudflare 自行完成的,需要自行下载并应用补丁,否则该模块将不起作用: https ://github.com/cloudflare/linux/tree/master/patches