mirror of https://github.com/bohanyang/debi
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5.0 KiB
5.0 KiB
Debian Network Reinstall Script
Introduction
This script is written to reinstall a VPS/virtual machine to Debian 10 Buster.
Should Work On
Virtualization Platform
- SolusVM/OpenStack/DigitalOcean/Vultr/Linode/Proxmox/QEMU KVM (BIOS boot)
- Oracle Cloud Infrastructure (with
--force-efi-extra-removable; UEFI boot) - Google Cloud Compute Engine (with manually configured VPC internal IP and gateway; UEFI boot)
- AWS EC2 & Lightsail (BIOS boot)
- Hyper-V & Azure (Generation 1 BIOS boot & Generation 2 UEFI boot)
Original OS
- Debian 8/9/10
- Ubuntu 14.04/16.04/18.04/20.04
- CentOS 7/8
How It Works
- Generate a preseed file to automate installation
- Download the 'Debian-Installer' to the
/bootdirectory - Append a menu entry of the installer to the GRUB2 configuration file
Basic Usage
Run the script and then reboot.
By default, an admin user debian with sudo privilege will be created during the installation. Use --user root if you prefer.
curl -fLO https://raw.githubusercontent.com/bohanyang/debi/master/debi.sh && sudo sh debi.sh <OPTIONS>
To revert all changes, run
sudo rm -rf debi.sh /etc/default/grub.d/zz-debi.cfg /boot/debian-* && { sudo update-grub || sudo grub2-mkconfig -o /boot/grub2/grub.cfg; }
Available Options
--ip <string>Disable the auto network config (DHCP) and configure a static IP address, e.g.10.0.0.2,1.2.3.4/24,2001:2345:6789:abcd::ef/48--netmask <string>e.g.255.255.255.0,ffff:ffff:ffff:ffff::--gateway <string>e.g.10.0.0.1--dns '8.8.8.8 8.8.4.4'--hostname <string>FQDN hostname (includes the domain name), e.g.server1.example.com--network-consoleEnable the network console of the installer.ssh installer@ipto connect--suite buster--mirror-protocol httporhttpsorftp--httpsalias to--mirror-protocol https--mirror-host deb.debian.org--mirror-directory /debian--security-repository http://security.debian.org/debian-securityMagic value:'mirror' = <mirror-protocol>://<mirror-host>/<mirror-directory>/../debian-security--no-account-setup, --no-user(Manual installation) Proceed account setup manually in VNC or remote console.--username, --user debianNew user withsudoprivilege orroot--password <string>Password of the new user. You'll be prompted if you choose to not specify it here--authorized-keys-url <string>URL to your authorized keys for SSH authentication. e.g.https://github.com/torvalds.keys--sudo-with-passwordRequire password when the user invokessudocommand--timezone UTChttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List--ntp 0.debian.pool.ntp.org--no-disk-partitioning, --no-part(Manual installation) Proceed disk partitioning manually in VNC or remote console--disk <string>Manually select a disk for installation. Please remember to specify this when more than one disk is available! e.g./dev/sda--no-force-gptBy default, GPT rather than MBR partition table will be created. This option disables it.--biosDon't create EFI system partition. If GPT is being used, create a BIOS boot partition (bios_grubpartition). Default if/sys/firmware/efiis absent. See--efiCreate an EFI system partition. Default if/sys/firmware/efiexists--filesystem ext4--kernel <string>Choose an package for the kernel image--cloud-kernelChooselinux-image-cloud-amd64as the kernel image--no-install-recommends--install 'ca-certificates libpam-systemd'--safe-upgrade(Default)apt upgrade --with-new-pkgs. See--full-upgradeapt dist-upgrade--no-upgrade--ethDisable Consistent Network Device Naming to get interface names like ethX back--bbrEnable TCP BBR congestion control--holdDon't reboot or power off after installation--power-offPower off after installation rather than reboot--architecture <string>e.g.amd64,i386,arm64,armhf, etc.--boot-directory <string>--firmwareLoad additional non-free firmwares--force-efi-extra-removableSee. Useful on Oracle Cloud--grub-timeout 5How many seconds the GRUB menu shows before entering the installer--dry-runPrint generated preseed and GRUB entry without downloading the installer and actually saving them
Presets
--cdn
--mirror-protocol https--mirror-host deb.debian.org--security-repository mirror
--aws
--mirror-protocol https--mirror-host cdn-aws.deb.debian.org--security-repository mirror
--china
--dns '223.5.5.5 223.6.6.6'--mirror-protocol https--mirror-host mirrors.aliyun.com--security-repository mirror--ntp ntp.aliyun.com