本文最后更新于 2024-06-24,

若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。

本站只有Telegram群组为唯一交流群组, 点击加入

文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请

项目地址:https://github.com/leitbogioro/Tools

1719227652562.webp
1719227683642.webp
1719227688596.webp
1719227692470.webp
1719227695675.webp
1719227699467.webp

如果你不是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 镜像都重新打包了云虚拟化所需的内置驱动程序,由 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改为正式模式,退出rescue 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

小教程:在 Debian 上安装 XanMod

介绍:XanMod系列是针对Linux内核的优秀第三方修改器,用于改善网络连接,包括应用上面我们了解的Cloudflare补丁,增强硬件兼容性等。仅适用于amd64架构的CPU。

安装gpg实用程序:

apt install gpg -y

下载、导入并将 gpg 密钥转换为二进制文件:

wget -qO - https://dl.xanmod.org/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpg

为 apt 应用“dl.xanmod.org”的附加存储库:

echo 'deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-release.list

刷新包依赖项:

apt update

安装 xanmod Linux 内核,与“v1”“v2”“v3”“v4”的区别在于对各个时期 CPU 的 ISA(指令集架构)的优化不同,你可以访问https://xanmod.org/,标题“x86-64 psABI level reference” 来查询或者执行这个脚本来确认:https://dl.xanmod.org/check_x86-64_psabi.sh

apt install linux-xanmod-lts-x64v3 -y

重新启动系统:

reboot

确认我们安装的新内核:

uname -a

--setdns:仅适用于 Debian/Kali,永久更改 Debian 的名称服务器由“resolvconf”提供,相关配置文件已编写。您只需登录新安装的系统,然后安装“resolvconf”:

echo "O" | apt install resolvconf -y
restart

使变更生效!

--network "dhcp/auto" 或 "static/manual" : 默认使用DHCP完成网络配置,如果你的云提供商是中小型商户,你的机器网络可能为静态,所以需要添加。相当于add --ip-addr "" --ip-mask "" --ip-gate "",如果添加了这个,后面三项就不要再分发了!一定要在命令最后添加。

--networkstack "ipv4", "ipv6" 或 "dual" : 通过读取相关配置手动指定一个支持的 IP 堆栈,而不是检查 IP 堆栈的连通性,"ipv4" 表示 IPv4 堆栈,"ipv6" 表示 IPv6 堆栈,"dual" 表示 IPv4 和 IPv6 双堆栈。确保对应堆栈的参数在分配之前必须在系统中指定配置。

--ip-addr "IPv4 地址":必须与 --ip-gate 和 --ip-mask 一起添加,这种情况下,--network "static/manual" 会自动分配。

--ip-gate "IPv4网关":必须与--ip-addr和--ip-mask一起添加,这种情况下,--network "static/manual" 会自动分配。

--ip-mask "IPv4 subnet musk" : 必须和 --ip-addr 以及 --ip-gate 一起添加,这种情况下 --network "static/manual" 是自动分配的,只能接受前缀数传输。IPv4 CIDR 计算器:https://www.vultr.com/resources/subnet-calculator/

--ip-dns “IPv4 DNS 服务器”:此项仅用于静态网络配置,默认为 1.0.0.1 和 8.8.4.4,您也可以更改其他 IPv4 DNS 服务器(如 8.8.8.8、9.9.9.9、4.4.2.2 等)来替换它。如果您的机器的网络是 DHCP,请不要分配它!

--ip6-addr "IPv6 地址":必须与 --ip6-gate 和 --ip6-mask 一起添加,这种情况下,--network "static/manual" 会自动分配。

--ip6-gate "IPv6 网关":必须与 --ip6-addr 和 --ip6-mask 一起添加,这种情况下,--network "static/manual" 会自动分配。

--ip6-mask "IPv6 子网掩码" : 必须与 --ip6-addr 和 --ip6-gate 一起添加,这种情况下,--network "static/manual" 是自动分配的,只能接受前缀号传输。IPv6 CIDR 计算器:https://en.rakko.tools/tools/27/

--ip6-dns “IPv6 DNS 服务器”:这个只用于静态网络配置,默认是 2606:4700:4700::1001 和 2001:4860:4860::8844,你也可以更改其他 IPv6 DNS 服务器来替换它。如果你的机器的网络是 DHCP,请不要指定它!

--setipv6 "0 is disabled":默认启用 IPv6,如果您的机器是 IPv4 堆栈,并且由 Racknerd 和 Virmach 等提供,它们将为 IPv4 堆栈服务器提供 IPv6 DNS,服务器将优先访问无效的 IPv6 网络,而不是 IPv4,您可以通过添加 --setipv6 "0" 来删除新操作系统中强制的所有 IPv6 模块,以避免上述情况。此选项对 Windows 无效。

--adapter “机器真实的网卡接口名称,如ens3,enp6s0等”:如果内核添加了参数“net.ifnames=0”或“biosdevname=0”,则所有不同的网卡名称将被指向相同的,如“eth0”,“eth1”等。如果您知道网卡的真实名称并想让它们替换“eth0”,请输入正确的值,如果您不确定它的真实名称,请不要分配它!

--netdevice-unite:该功能与--adapter“真实接口名称”效果相反,它将把“net.ifnames=0 biosdevname=0”添加到内核,将所有不同网络适配器的接口名称重定向到统一的“eth0”,这个不需要指定任何值,建议您在输入它并开始安装操作系统之前,应该仔细备份网络适配器的真实名称!

--autoplugadapter : 仅对 Debian/Kali 有效,/etc/network/interfaces 中网络适配器的连接方式将从“allow-hotplug”替换为“auto”。 --autoplugadapter "0" 强制禁用,--autoplugadapter "1" 启用,默认启用。添加此项后,对于多接口环境,如果配置为“auto”的接口,无论是否插入网线,Debian/Kali 都会不断尝试使用 dhcp 唤醒并启动它,即使超时。使用“allow-hotplug(Debian/Kali 安装程序的默认设置)”进行设置可以跳过此问题,但如果一个接口有超过 1 个 IP 或者它将连接到另一个网桥,则在系统重新启动时,接口的初始化将失败,在大多数 VPS 环境中,机器的接口应该是稳定的,因此将接口配置方法的默认设置从“allow-hotplug”替换为“auto”是一个更好的主意,但这会导致一些服务器花费很长时间启动(尝试激活所有网络适配器并等待 dhcp 致命时间)。因为默认配置方法“allow-hotplug”将导致网络适配器永久断开与主机的连接,除非在执行“systemctl restart networking”时重新启动系统,所以为了避免这种情况,所有有效网络适配器的配置方法将使用“auto”而不是“allow-hotplug”。

--fail2ban : 安装并配置 fail2ban 以防止可疑的 ssh 端口爆破。为减少内存占用,内存小于 2GB 的服务器将自动禁用。--fail2ban "0" 为强制禁用,--fail2ban "1" 为强制启用。此选项对 Windows 无效。

-netbootxyz:使用netbootXYZ手动安装其支持的操作系统,需要 VNC 访问进行操作,确保服务器的内存容量足以容纳安装目标系统的整个 iso 映像。仅适用于具有 BIOS 固件的 AMD64/x86_64 架构。ARM64/aarch64 架构,任何架构的 UEFI 固件均不受支持

--allbymyself:手动安装该脚本支持的操作系统,必须有 VNC,此选项对 Redhat 系列无效。

-mirror “有效的 DIST 镜像 url”:操作系统安装文件资源,您可以选择最接近您服务器实际位置的资源来加快安装速度。

对于 Debian,官方推荐的镜像列表在这里:

https://www.debian.org/mirror/list.html

对于 Kali,官方推荐的镜像列表如下:

https://http.kali.org/README.mirrorlist

对于 Alpine Linux,官方推荐的镜像列表在这里:

https://mirrors.alpinelinux.org/

对于 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

-firmware : 指定 Debian 和 Kali 的驱动以支持旧硬件,如果您的服务器位于中国大陆,程序将切换到'中国科学技术大学( https://mirrors.ustc.edu.cn/debian-cdimage/ )' 的镜像以便更快地下载,默认镜像来自http://cdimage.debian.org/cdimage/

-architecture "32/i386 或 64/amd64 或 arm/arm64":操作系统位。程序将自动检测并将 CPU 架构从您的机器重定向到将要安装的新系统,如果您不熟悉它,请不要指定它!

高级用法,例如 Debian 12(推荐用于中国大陆以外的服务器)

日本:

bash InstallNET.sh -debian 12 -mirror "http://ftp.riken.jp/Linux/debian/debian/"

香港:

bash InstallNET.sh -debian 12 -mirror "http://ftp.hk.debian.org/debian/"

新加坡:

bash InstallNET.sh -debian 12 -mirror "http://ftp.sg.debian.org/debian/"

韩国:

bash InstallNET.sh -debian 12 -mirror "http://ftp.kaist.ac.kr/debian/"

台湾:

bash InstallNET.sh -debian 12 -mirror "http://ftp.tw.debian.org/debian/"

美国:

bash InstallNET.sh -debian 12 -mirror "https://mirrors.ocf.berkeley.edu/debian/"

加拿大:

bash InstallNET.sh -debian 12 -mirror "http://ftp.ca.debian.org/debian/"

英国:

bash InstallNET.sh -debian 12 -mirror "http://ftp.uk.debian.org/debian/"

德国:

bash InstallNET.sh -debian 12 -mirror "http://ftp.de.debian.org/debian/"

法国:

bash InstallNET.sh -debian 12 -mirror "http://ftp.fr.debian.org/debian/"

荷兰:

bash InstallNET.sh -debian 12 -mirror "http://ftp.nl.debian.org/debian/"

瑞士:

bash InstallNET.sh -debian 12 -mirror "http://ftp.ch.debian.org/debian/"

俄罗斯:

bash InstallNET.sh -debian 12 -mirror "http://ftp.ru.debian.org/debian/"

澳大利亚:

bash InstallNET.sh -debian 12 -mirror "http://ftp.au.debian.org/debian/"

错误及解决方法:

部分 CentOS 8 版本没有被纳入 CentOS-stream 中,CentOS 官方已经不再对其提供支持,因此源头失效:

Failed to synchronize cache for repo 'baseos', ignoring this repo.
Failed to synchronize cache for repo 'appstream', ignoring this repo.

您首先需要修复可用的源,然后执行该脚本。

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

如果脚本发现任何错误,如“# Check Dependence”,请重新执行!

如果你在 Oracle 等云供应商的网站面板上创建服务器后启用并分配了 IPv6 地址,但原系统中 IPv6 仍然无效,你可以尝试使用“dhclient”命令启用 IPv6,与 IPv4 相同:

dhclient -6 "network adapter name"
dhclient -4 "network adapter name"

充分利用样本

bash InstallNET.sh -debian/kali/ubuntu/centos/almalinux/rockylinux/fedora(os type) 11(os version) -architecture 64(os bit, not necessary) -port "your server port" -pwd 'your server password' -mirror "a valid url for linux image source" -dd/--image "dd image url" -filetype "gz or xz" -timezone "like Asia/Tokyo etc" --network "static"/--ip-addr 'x.x.x.x'(ip address) --ip-mask 'x.x.x.x'(subnet mask) --ip-gate 'x.x.x.x'(gateway) -firmware(Debian with hardware drivers)

未经许可和法律声明:

这是免费且不受限制的软件,发布到公共领域。

任何人都可以自由复制、修改、发布、使用、编译、销售或分发此软件,无论是源代码形式还是编译后的二进制文件,用于任何目的(商业或非商业),使用任何方式。

在承认版权法的司法管辖区,此软件的作者将软件的任何和所有版权利益奉献给公共领域。我们做出此奉献是为了造福广大公众,并损害我们的继承人和继任者的利益。我们打算将此奉献视为永久放弃版权法下此软件的所有现在和未来权利的公开行为。

软件按“原样”提供,不作任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和不侵权性的保证。在任何情况下,作者均不对因软件或使用或其他处理软件而引起的或与之相关的任何索赔、损害或其他责任负责,无论是合同行为、侵权行为还是其他行为。有关

详细信息,请参阅http://unlicense.org/

Microsoft 产品和服务(包括图像、文本和软件下载(“内容”))归 Microsoft Corporation 或已授予 Microsoft 使用这些内容权限的第三方所有。Microsoft 不能授予您使用第三方拥有的内容的权限。您只能在最终用户许可协议 (EULA) 或内容随附的许可条款或以下指南中提供的许可条款中获得明确许可的情况下复制、修改、分发、显示、许可或出售内容。有关详细信息,请咨询您的版权律师。

“InstallNET.sh”不提供任何第三方激活Windows的服务,该功能仅用于帮助您研究、评估Windows的相关功能。“InstallNET.sh”仅支持您的服务器从Linux安装到Windows,但它在Windows中无法正常工作,因此您没有机会再使用“InstallNET.sh”从Windows安装到Linux。

如果有人造成任何非法情况,“InstallNET.sh”概不负责。执行此程序后,您应该自行承担任何后果,包括:在没有任何备份的情况下导致数据损坏,导致服务器无法挽回的操作失败。

功能和更新:

  • “InstallNET.sh”将为您提供一个干净、安全、官方的Linux系统,并帮助您摆脱服务器提供商的监控。
  • 操作简单,几分钟即可安装完成。
  • 支持安装到Debian系列、Redhat系列。
  • 也可以在其他Redhat系列(Oracle Linux 7+、VzLinux 8+)的主线版本中运行来安装支持的系统。
  • 支持各大云厂商,尤其支持Oracle Cloud ARM机器。
  • 检测当前操作系统的CPU架构并自动将正确的架构交换到新系统,您根本不需要添加参数‘-version’来手动确认架构。
  • 可以自动处理不同硬件平台(AMD64 legacy / AMD64 UEFI / ARM64 UEFI)上 grub2 的启动菜单项,以确保所有支持的启动文件都能正确加载。
  • 支持从Linux(仅Debian系列)安装到Windows。详细信息请参阅“如何安装Windows?”部分。
  • 支持 IPv6 单栈(仅具有 IPv6 公共地址和 IPv4 内联网路由)服务器,如 Vultr 2.5 美元月度计划,仅适用于 DHCP。
  • 支持 bio-stack 中的网络自动配置(同时具有 IPv4 和 IPv6 公共地址),登录新系统后,您不必手动配置 IPv6 地址,仅适用于 Debian,DHCP。
  • 您可以修改架构、镜像、固件、ssh 端口、密码等。
  • 对低内存设备友好,对于 Debian 系列,建议 RAM 在 512MB 以上,对于 Redhat 系列,建议 RAM 在 2GB 以上。
  • Ubuntu 22.04 已取消网络启动功能,因此该程序不支持 Ubuntu 22.04 及以上版本的重新安装,来源:http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/current/legacy-images/:旧版 Ubuntu 服务器安装程序不再可用,适用于 arm64 架构的 initrd.gz 和 linux 网络启动文件也是如此。
  • 韩国的 Debian 官方镜像http://ftp.kr.debian.org/debian/经常崩溃,所以我改推荐镜像为 Jaist University https://www.jaist.ac.jp/index.html,日本的是科研机构https://www.riken.jp/ ,美国的是加州大学伯克利分校: https://www.berkeley.edu/
  • 彻底修改了Debian,例如支持终端文件彩色显示、永久更改DNS服务器、禁用过期证书、添加可爱的欢迎介绍、在预安装过程中预安装许多补充,现在享受全新、舒适、优雅的Debian体验!
  • 支持grub2启动文件修改,可以平滑的从Debian系列切换到Redhat系列或者从Redhat系列切换到Debian系列,旧版本如果从Debian系列安装到Redhat系列,就不能再切换到Debian系列了。
  • 支持xfs文件系统(仅适用于Debian 9及更高版本),比旧的ext2更好,是Redhat系列的默认选项,raid 0磁盘分区模式的文件系统为ext4。
  • 检测机器是在中国大陆还是境外运行,并自动切换镜像。
  • 支持'-port'参数来修改Redhat系列的ssh端口。
  • 自动检测设备网络是 DHCP 还是静态。
  • 对于windows的DD包,默认的压缩方式是“gz”,如果你的包是“.xz”,你可以添加参数-filetype“xz”来解压。
  • 支持Raid 0,需添加参数-raid "0",验证需要经过认证。
  • 在 Debian/Ubuntu 安装中禁用静态网络的 ntp 时钟设置,否则可能会导致静态网络失败。
  • 修复如果输入--ip-addr“”--ip-mask“”--ip-gate“”,静态网络配置可能无效的问题。
  • 支持根据访客IP所在地理位置自动配置时区,或者判断现有的时区参数进行手动配置。
  • 将所有需要安装的依赖项集中到除“wget”之外的内部命令中,因为您需要先下载“InstallNET.sh”。
  • 支持 Debian 12。
  • 更新预安装组件,将python2更新为python3,将vim-gtk2更新为vim-gtk3以支持Debian 12。
  • 创建一个新的检查IPv6有效性的算法,它应用于Debian中的motd文件的10-sysinfo和主程序“InstallNET.sh”。
  • 由于 Oracle Cloud 官方模板 RockyLinux 9 的 grub 文件“grub.cfg”中的启动菜单项配置与其他标准 Redhat 类操作系统(版本 7+)完全不同,因此我创建了一个新算法来处理这个问题以及将来所有类似的情况。
  • 更新 Debian 12 的 vim 文件修改。
  • 由于github.com和githubusercontent.com等在中国被封杀,所以我切换了Debian或Redhat必备的外部文件下载源,如motd的os示例文件,防火墙配置等。如果你的服务器在中国大陆,外部文件将从https://gitee.com/mb9e8j2/Tools/下载,其他国家/地区也将在此存储库下载。
  • 如果可能,尝试启用 IPv4 和 IPv6 dhcp。
  • 添加必要的注释
  • 将默认安装操作系统设置为 Debian 12,并且体系结构的值为空而不是 AMD64,因为程序会自动检查体系结构。

缺陷:

  • 不支持 Ubuntu 20.04 及后续版本的原生安装方式,而是用 dd 云镜像代替,因为 Canonical 抛弃了和 Debian 一起应用的传统,强迫用户下载几 GB 的巨大 iso 镜像,然后将其加载到它的 Cloud-init 中,而不是通过 PXE 启动加载两个总共一百兆的网络启动文件,它在 QEMU 环境中运行,必须要求 CPU 硬件虚拟化,但大多数 VPS 根本无法很好地处理它。Canonical 已经发展成为一个成熟的商业公司,它打算从主要合作伙伴那里赚取更多的钱,所以他们故意歧视他们的个人用户,在他们的观念里,这些用户肯定是低端客户,尽管这些用户一直以来都是他们忠实的粉丝,并一步步帮助 Canonical 取得了今天的伟大成就。从丢弃大量以前宝贵的 Debian 安装程序预置遗产的行为来看,Canonical 将在更多领域扮演类似 Apple.Inc 的罪魁祸首,并最终违背通用自由软件的精神。
  • 对于Redhat 8系列,最低内存要求为2.5GB,对于Redhat 9系列,最低内存要求为2GB。
  • 由于Redhat 6系列中grub1的语法与其他Linux版本的grub1或grub2完全不同,所以我删除了对CentOS 6和Oracle Linux 6的支持。
  • GCP 的所有系统模板均不受支持。

.bashrc

.bashrc是一个脚本文件系统,其中包含了用户登录时对终端会话的一系列配置。文件本身包括了对不同文件的突出显示设置

删除默认的 .bashrc

rm -rf ~/.bashrc

下载 .bashrc 并重启系统

wget --no-check-certificate -qO ~/.bashrc 'https://raw.githubusercontent.com/leitbogioro/Tools/master/.bashrc' && chmod a+x .bashrc

reboot

组策略导入和导出

此“.bat”脚本只能在 Windows 中运行。虽然 Windows 中一次只能导出一条组策略规则,不支持全局组策略,也没有 GUI 入口来导入从另一台计算机导出的另一个备份组策略。但它可以帮助您方便地导入或导出组策略。

注意事项

  • 与所有版本的 Windows 兼容。
  • 仅支持该脚本导出的组策略规则。
  • 如果需要导出组策略规则,组策略文件所在文件夹严格对应当前操作系统版本,不支持导出与当前操作系统版本不同的规则。
  • 导出操作不可逆,请谨慎操作!