VirtualBox Debian 自动安装脚本

概览

相较于原脚本(安装目录/UnattendedTemplates/debian_pressed.cfg)更新如下内容:

  1. 配置清华镜像源
  2. 配置仅主机网卡(后续只需添加仅主机网卡即可)
  3. 配置Root用户远程登录
  4. 配置用户sudo组

脚本 debian_pressed.cfg

bash 复制代码
### Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Locale
d-i debian-installer/locale string @@VBOX_INSERT_LOCALE@@
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i keyboard-configuration/xkb-keymap select us

# Network
d-i netcfg/get_hostname string @@VBOX_INSERT_HOSTNAME_WITHOUT_DOMAIN@@
d-i netcfg/get_domain string @@VBOX_INSERT_HOSTNAME_DOMAIN@@
d-i netcfg/choose_interface select auto

# Clock
@@VBOX_COND_IS_RTC_USING_UTC@@
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
@@VBOX_COND_END@@
@@VBOX_COND_IS_NOT_RTC_USING_UTC@@
d-i clock-setup/utc-auto boolean false
d-i clock-setup/utc boolean false
@@VBOX_COND_END@@
d-i time/zone string @@VBOX_INSERT_TIME_ZONE_UX@@
@@VBOX_COND_IS_INSTALLING_ADDITIONS@@d-i clock-setup/ntp boolean false@@VBOX_COND_END@@
@@VBOX_COND_IS_NOT_INSTALLING_ADDITIONS@@d-i clock-setup/ntp boolean true@@VBOX_COND_END@@

# Packages, Mirrors, Image
d-i base-installer/kernel/override-image string linux-server
d-i base-installer/kernel/override-image string linux-image-amd64
d-i pkgsel/install-language-support boolean false


@@VBOX_COND_AVOID_UPDATES_OVER_NETWORK@@
# d-i apt-setup/use_mirror boolean true
# d-i netcfg/no_default_route true
d-i netcfg/get_nameservers ""
@@VBOX_COND_END@@

@@VBOX_COND_IS_NOT_MINIMAL_INSTALLATION@@
# d-i apt-setup/restricted boolean true
# d-i apt-setup/universe boolean true
tasksel tasksel/first multiselect minimal
d-i pkgsel/include string openssh-server sudo vim
d-i pkgsel/upgrade select none
@@VBOX_COND_END@@@@VBOX_COND_IS_MINIMAL_INSTALLATION@@
tasksel tasksel/first multiselect minimal
d-i pkgsel/include string openssh-server sudo vim
d-i pkgsel/upgrade select none
@@VBOX_COND_END@@

# Users
d-i passwd/user-fullname string @@VBOX_INSERT_USER_FULL_NAME@@
d-i passwd/username string @@VBOX_INSERT_USER_LOGIN@@
d-i passwd/user-password password @@VBOX_INSERT_USER_PASSWORD@@
d-i passwd/user-password-again password @@VBOX_INSERT_USER_PASSWORD@@
d-i passwd/root-login boolean true
d-i passwd/root-password password @@VBOX_INSERT_ROOT_PASSWORD@@
d-i passwd/root-password-again password @@VBOX_INSERT_ROOT_PASSWORD@@
d-i user-setup/allow-password-weak boolean true
d-i passwd/user-default-groups string admin sudo

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true

# Due notably to potential USB sticks, the location of the MBR can not be
# determined safely in general, so this needs to be specified:
#d-i grub-installer/bootdev  string /dev/sda
# To install to the first device (assuming it is not a USB stick):
d-i grub-installer/bootdev  string default

d-i finish-install/reboot_in_progress note

# Custom Commands.
# Note! Debian netboot images use busybox, so no bash.
#       Tell script to use target bash.
# 1. 配置清华像源
# 2. 配置仅主机网卡
# 3. 配置Root用户远程登录
d-i apt-setup/use_cdrom boolean false
d-i preseed/late_command string cp /cdrom/vboxpostinstall.sh /target/root/vboxpostinstall.sh \
    && chmod +x /target/root/vboxpostinstall.sh \
    && /bin/sh /target/root/vboxpostinstall.sh --need-target-bash --preseed-late-command; \
    in-target sh -c "mv /etc/apt/sources.list /etc/apt/sources.list.bak && touch /etc/apt/sources.list"; \
    in-target sh -c "echo 'deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware' > /etc/apt/sources.list"; \
    in-target sh -c "echo 'deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware' >> /etc/apt/sources.list"; \
    in-target sh -c "echo 'deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware' >> /etc/apt/sources.list"; \
    in-target sh -c "echo 'deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware' >> /etc/apt/sources.list"; \
    in-target apt-get update; \
    in-target sh -c "echo 'auto enp0s8' >> /etc/network/interfaces"; \
    in-target sh -c "echo 'iface enp0s8 inet dhcp' >> /etc/network/interfaces"; \
    in-target sed -i 's/^#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config;
相关推荐
ghx_echo11 分钟前
linux系统下的磁盘扩容
linux·运维·服务器
hhzz41 分钟前
ansible自动化运维实战--script、unarchive和shell模块(6)
运维·自动化·ansible
阿狸的家2 小时前
ovs实现lb负载均衡
运维·云计算·负载均衡·ovs
乙己4077 小时前
计算机网络——网络层
运维·服务器·计算机网络
不会飞的小龙人10 小时前
Docker Compose创建镜像服务
linux·运维·docker·容器·镜像
不会飞的小龙人10 小时前
Docker基础安装与使用
linux·运维·docker·容器
lee57611 小时前
npm run dev 时直接打开Chrome浏览器
前端·chrome·npm
小歆88412 小时前
100%全国产化时钟服务器、全国产化校时服务器、全国产化授时服务器
运维·服务器
翻滚吧键盘12 小时前
debian中apt的配置与解析
运维·debian
0xfather12 小时前
在Debian系统中安装Debian(Linux版PE装机)
linux·服务器·debian