无人值守的离线安装Edubuntu 14.04

我正在寻找一种在Edubuntu 14.04桌面上离线完成此操作的方法。这样安装速度会更快,对于大规模部署来说效果更好。与一些指南相反,似乎不再需要kickstart。这些资源让我离目标非常近。 我已经在Edubuntu ISO和以下文件上取得了相当大的进展。

isolinux/isolinux.cfg

# D-I 配置版本 2.0 包括 menu.cfg 默认 vesamenu.c32 提示 0 超时时间 30 ui gfxboot bootlogo

isolinux/txt.cfg

默认无人值守EBA安装 标签无人值守EBA安装 菜单标签^为EBA无人值守安装 内核/casper/vmlinuz.efi 追加文件=/cdrom/preseed/EBA.seed keyboard-configuration/layoutcode=us and console-setup/ask_detect=false boot=casper automatic-ubiquity noprompt initrd=/casper/initrd.lz -- 标签实时 菜单标签^尝试Edubuntu而不安装 内核/casper/vmlinuz.efi 追加文件=/cdrom/preseed/edubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash -- 标签实时安装 菜单标签^安装Edubuntu 内核/casper/vmlinuz.efi 追加文件=/cdrom/preseed/edubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash -- 标签检查 菜单标签^检查光盘是否有缺陷 内核/casper/vmlinuz.efi 追加boot=casper integrity-check initrd=/casper/initrd.lz quiet splash -- 标签内存测试 菜单标签测试^内存 内核/install/mt86plus 标签硬盘 菜单标签^从第一块硬盘启动 localboot 0x80

preseed/EBA.seed

#### Contents of the preconfiguration file by Kevin McCormack for Edubuntu 14.04
### Localization
# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US
# Keyboard selection # Disable automatic (interactive) keymap detection. d-i console-setup/ask_detect boolean false d-i keyboard-configuration/xkb-keymap select us #d-i console-setup/layoutcode string us # d-i keyboard-configuration/toggle select No toggling #d-i keyboard-configuration keyboard-configuration/layoutcode string us #d-i keyboard-configuration keyboard-configuration/layout select English (US) #d-i keyboard-configuration keyboard-configuration/variant select English (US) #d-i keyboard-configuration keyboard-configuration/xkb-keymap select us
### Network configuration # Disable network configuration entirely. This is useful for cdrom # installations on non-networked devices where the network questions, # warning and long timeouts are a nuisance. d-i netcfg/enable boolean false # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg/choose_interface select auto
# To pick a particular interface instead: #d-i netcfg/choose_interface select eth1
# To set a different link detection timeout (default is 3 seconds). # Values are interpreted as seconds. #d-i netcfg/link_wait_timeout string 10
# If you have a slow dhcp server and the installer times out waiting for # it, this might be useful. #d-i netcfg/dhcp_timeout string 60 #d-i netcfg/dhcpv6_timeout string 60
# If you prefer to configure the network manually, uncomment this line and # the static network configuration below. #d-i netcfg/disable_autoconfig boolean true # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. #d-i netcfg/dhcp_failed note #d-i netcfg/dhcp_options select Configure network manually
# Static network configuration. # # IPv4 example #d-i netcfg/get_ipaddress string 192.168.1.42 #d-i netcfg/get_netmask string 255.255.255.0 #d-i netcfg/get_gateway string 192.168.1.1 #d-i netcfg/get_nameservers string 192.168.1.1 #d-i netcfg/confirm_static boolean true # # IPv6 example #d-i netcfg/get_ipaddress string fc00::2 #d-i netcfg/get_netmask string ffff:ffff:ffff:ffff:: #d-i netcfg/get_gateway string fc00::1 #d-i netcfg/get_nameservers string fc00::1 #d-i netcfg/confirm_static boolean true # Any hostname and domain names assigned from dhcp take precedence over # values set here. However, setting the values still prevents the questions # from being shown, even if values come from dhcp. d-i netcfg/get_hostname string unassigned-hostname #d-i netcfg/get_hostname string "$(cat /sys/class/dmi/id/chassis_asset_tag)" #d-i netcfg/get_hostname string $(cat /sys/class/dmi/id/product_name) d-i netcfg/get_domain string unassigned-domain
# If you want to force a hostname, regardless of what either the DHCP # server returns or what the reverse DNS entry for the IP is, uncomment # and adjust the following line. #d-i netcfg/hostname string somehost
# Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg/dhcp_hostname string radish
# If non-free firmware is needed for the network or other hardware, you can # configure the installer to always try to load it, without prompting. Or # change to false to disable asking. #d-i hw-detect/load_firmware boolean true ### Network console # Use the following settings if you wish to make use of the network-console # component for remote installation over SSH. This only makes sense if you # intend to perform the remainder of the installation manually. #d-i anna/choose_modules string network-console #d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key #d-i network-console/password password r00tme #d-i network-console/password-again password r00tme ### Mirror settings # If you select ftp, the mirror/country string does not need to be set. #d-i mirror/protocol string ftp #d-i mirror/country string manual #d-i mirror/http/hostname string http.us.debian.org #d-i mirror/http/directory string /debian #d-i mirror/http/proxy string
# Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing
### Account setup # Skip creation of a root account (normal user account will be able to # use sudo). #d-i passwd/root-login boolean false # Alternatively, to skip creation of a normal user account. #d-i passwd/make-user boolean false # Root password, either in clear text #d-i passwd/root-password password r00tme #d-i passwd/root-password-again password r00tme # or encrypted using an MD5 hash. #d-i passwd/root-password-crypted password [MD5 hash]
# To create a normal user account. d-i passwd/user-fullname string EBA Tech d-i passwd/username string eba # Normal user's password, either in clear text #d-i passwd/user-password password insecure #d-i passwd/user-password-again password insecure # or encrypted using an MD5 hash. d-i passwd/user-password-crypted password $1$jofdV3Qt$MhQLCV8ollmdpIazbibYZ/ # Create the first user with the specified UID instead of the default. #d-i passwd/user-uid string 1010
# The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video
### Clock and time zone setup # Controls whether or not the hardware clock is set to UTC. d-i clock-setup/utc boolean true # You may set this to any valid setting for $TZ; see the contents of # /usr/share/zoneinfo/ for valid values. d-i time/zone string US/Eastern
# Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com
### Partitioning ## Partitioning example # If the system has free space you can choose to only partition that space. # This is only honoured if partman-auto/method (below) is not set. #d-i partman-auto/init_automatically_partition select biggest_free # Alternatively, you may specify a disk to partition. If the system has only # one disk the installer will default to using that, but otherwise the device # name must be given in traditional, non-devfs format (so e.g. /dev/sda # and not e.g. /dev/discs/disc0/disc). # For example, to use the first SCSI/SATA hard disk: d-i partman-auto/disk string /dev/sda # In addition, you'll need to specify the method to use. # The presently available methods are: # - regular: use the usual partition types for your architecture # - lvm: use LVM to partition the disk # - crypto: use LVM within an encrypted partition d-i partman-auto/method string lvm
# If one of the disks that are going to be automatically partitioned # contains an old LVM configuration, the user will normally receive a # warning. This can be preseeded away... d-i partman-lvm/device_remove_lvm boolean true # The same applies to pre-existing software RAID array: d-i partman-md/device_remove_md boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true # You can choose one of the three predefined partitioning recipes: # - atomic: all files in one partition # - home: separate /home partition # - multi: separate /home, /var, and /tmp partitions d-i partman-auto/choose_recipe select atomic
# Or provide a recipe of your own... # If you have a way to get a recipe file into the d-i environment, you can # just point at it. #d-i partman-auto/expert_recipe_file string /hd-media/recipe # If not, you can put an entire recipe into the preconfiguration file in one # (logical) line. This example creates a small /boot partition, suitable # swap, and uses the rest of the space for the root partition: #d-i partman-auto/expert_recipe string \ # boot-root :: \ # 40 50 100 ext3 \ # $primary{ } $bootable{ } \ # method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } \ # mountpoint{ /boot } \ # . \ # 500 10000 1000000000 ext3 \ # method{ format } format{ } \ # use_filesystem{ } filesystem{ ext3 } \ # mountpoint{ / } \ # . \ # 64 512 300% linux-swap \ # method{ swap } format{ } \ # .
# The full recipe format is documented in the file partman-auto-recipe.txt # included in the 'debian-installer' package or available from D-I source # repository. This also documents how to specify settings such as file # system labels, volume group names and which physical devices to include # in a volume group.
# This makes partman automatically partition without confirmation, provided # that you told it what to do using one of the methods above. 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
## Controlling how partitions are mounted # The default is to mount by UUID, but you can also choose "traditional" to # use traditional device names, or "label" to try filesystem labels before # falling back to UUIDs. #d-i partman/mount_style select uuid
### Base system installation # Configure APT to not install recommended packages by default. Use of this # option can result in an incomplete system and should only be used by very # experienced users. #d-i base-installer/install-recommends boolean false # The kernel image (meta) package to be installed; "none" can be used if no # kernel is to be installed. #d-i base-installer/kernel/image string linux-image-586
### Apt setup # You can choose to install restricted and universe software, or to install # software from the backports repository. d-i apt-setup/restricted boolean true d-i apt-setup/universe boolean true #d-i apt-setup/backports boolean true # Uncomment this if you don't want to use a network mirror. #d-i apt-setup/use_mirror boolean false # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. #d-i apt-setup/services-select multiselect security #d-i apt-setup/security_host string security.ubuntu.com #d-i apt-setup/security_path string /ubuntu
# Additional repositories, local[0-9] available #d-i apt-setup/local0/repository string \ # http://local.server/ubuntu &releasename main #d-i apt-setup/local0/comment string local server # Enable deb-src lines #d-i apt-setup/local0/source boolean true # URL to the public key of the local repository; you must provide a key or # apt will complain about the unauthenticated repository and so the # sources.list line will be left commented out #d-i apt-setup/local0/key string http://local.server/key
# By default the installer requires that repositories be authenticated # using a known gpg key. This setting can be used to disable that # authentication. Warning: Insecure, not recommended. #d-i debian-installer/allow_unauthenticated string true ### Package selection tasksel tasksel/first multiselect ubuntu-desktop ubuntu-edu-secondary tasksel tasksel/first seen false
# Individual additional packages to install d-i pkgsel/include string openssh-server # Policy for applying updates. May be "none" (no automatic updates), # "unattended-upgrades" (install security updates automatically), or # "landscape" (manage system with Landscape). d-i pkgsel/update-policy select unattended-upgrades # Enable extras.ubuntu.com. d-i apt-setup/extras boolean true # Some versions of the installer can report back on what software you have # installed, and what software you use. The default is not to report back, # but sending reports helps the project determine what software is most # popular and include it on CDs. #popularity-contest popularity-contest/participate boolean false ### Boot loader installation # Grub is the default boot loader (for x86). If you want lilo installed # instead, uncomment this: #d-i grub-installer/skip boolean true # To also skip installing lilo, and install no bootloader, uncomment this # too: #d-i lilo-installer/skip boolean true
# This is fairly safe to set, it makes grub install automatically to the MBR # if no other operating system is detected on the machine. d-i grub-installer/only_debian boolean true # This one makes grub-installer install to the MBR if it also finds some other # OS, which is less safe as it might not be able to boot that other OS. d-i grub-installer/with_other_os 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
# Alternatively, if you want to install to a location other than the mbr, # uncomment and edit these lines: #d-i grub-installer/only_debian boolean false #d-i grub-installer/with_other_os boolean false #d-i grub-installer/bootdev string (hd0,1) # To install grub to multiple disks: #d-i grub-installer/bootdev string (hd0,1) (hd1,1) (hd2,1)
# Optional password for grub, either in clear text #d-i grub-installer/password password r00tme #d-i grub-installer/password-again password r00tme # or encrypted using an MD5 hash, see grub-md5-crypt(8). #d-i grub-installer/password-crypted password [MD5 hash]
# Use the following option to add additional boot parameters for the # installed system (if supported by the bootloader installer). # Note: options passed to the installer will be added automatically. #d-i debian-installer/add-kernel-opts string nousb
### Finishing up the installation # During installations from serial console, the regular virtual consoles # (VT1-VT6) are normally disabled in /etc/inittab. Uncomment the next # line to prevent this. #d-i finish-install/keep-consoles boolean true # Avoid that last message about the install being complete. d-i finish-install/reboot_in_progress note # This will prevent the installer from ejecting the CD during the reboot, # which is useful in some situations. #d-i cdrom-detect/eject boolean false # This is how to make the installer shutdown when finished, but not # reboot into the installed system. #d-i debian-installer/exit/halt boolean true # This will power off the machine instead of just halting it. #d-i debian-installer/exit/poweroff boolean true ### Preseeding other packages # Depending on what software you choose to install, or if things go wrong # during the installation process, it's possible that other questions may # be asked. You can preseed those too, of course. To get a list of every # possible question that could be asked during an install, do an # installation, and then run these commands: # debconf-get-selections --installer > file # debconf-get-selections >> file
### Ubiquity options ubiquity ubiquity/summary string empty # reboot automatically, add 'noprompt' to the kernel command line ubiquity ubiquity/use_nonfree boolean true ubiquity ubiquity/reboot boolean true #ubiquity languagechooser/language-name select English #ubiquity countrychooser/shortlist select US ubiquity localechooser/supported-locales en_US.UTF-8 ubiquity console-keymaps-at/keymap select us ubiquity ubiquity/edubuntu-addon_fallback_install booolean false ubiquity ubiquity/edubuntu-addon_ltsp_install booolean false ubiquity ubiquity/edubuntu-addon_ltsp_interface select eth0 ubiquity ubiquity/install/generate-blacklist multiselect ubuntu-edu-preschool ubuntu-edu-primary ubuntu-edu-tertiary
#### Advanced options ### Running custom commands during the installation # d-i preseeding is inherently not secure. Nothing in the installer checks # for attempts at buffer overflows or other exploits of the values of a # preconfiguration file like this one. Only use preconfiguration files from # trusted locations! To drive that home, and because it's generally useful, # here's a way to run any shell command you'd like inside the installer, # automatically.
# This first command is run as early as possible, just after # preseeding is read. #d-i preseed/early_command string anna-install some-udeb # This command is run immediately before the partitioner starts. It may be # useful to apply dynamic partitioner preseeding that depends on the state # of the disks (which may not be visible when preseed/early_command runs). #d-i partman/early_command \ # string debconf-set partman-auto/disk "$(list-devices disk | head -n1)" # This command is run just before the install finishes, but when there is # still a usable /target directory. You can chroot to /target and use it # directly, or use the apt-install and in-target commands to easily install # packages and run commands in the target system. #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh d-i preseed/late_command string apt-install openssh-server
如何回答有关Edubuntu安装选项的gnome回退、LTSP和已安装教育软件?此外,还要求输入键盘布局(在更新的isolinux/txt.cfg中进行修正)。
附加软件包openssh-server未安装。更新:现在可以通过以下命令运行:ubiquity ubiquity/success_command string in-target apt-get -y install openssh-server; 我还想基于资产标签设置主机名,例如:
d-i netcfg/get_hostname string $(cat /sys/class/dmi/id/chassis_asset_tag)
更新:我能够在ubiquity ubiquity/success_command string之后使用以下命令来设置主机名。
如果 [ "$(cat /sys/class/dmi/id/chassis_asset_tag)" != "" ]; then \ in-target hostname $(cat /sys/class/dmi/id/chassis_asset_tag) ;\ in-target sed -i "1s/.*/$(cat /sys/class/dmi/id/chassis_asset_tag)/" /etc/hostname ;\ in-target sed -i "2s/.*/127.0.1.1\t$(cat /sys/class/dmi/id/chassis_asset_tag)/" /etc/hosts ;\ else \ in-target hostname $(cat /sys/class/dmi/id/product_name) ;\ in-target sed -i "1s/.*/$(cat /sys/class/dmi/id/product_name)/" /etc/hostname ;\ in-target sed -i "2s/.*/127.0.1.1\t$(cat /sys/class/dmi/id/product_name)/" /etc/hosts ;\ fi;
更新:我能够使用ubiquity ubiquity/success_command string in-target apt-get -y purge unity-scope-yahoostock来删除软件包,但这似乎效率低下,因为它是在安装后立即删除软件包。有人知道如何排除软件包吗?Debian的d-i pkgsel/exclude string unity-scope-yahoostock在Ubiquity中似乎不起作用。

1如果你想要一个Edubuntu桌面,最好从Edubuntu ISO开始,而不是服务器版本(否则你将需要下载与元包edubuntu-desktop相关联的每个DEB文件。这是很多手动工作,但你仍然可以使用这个kickstart配置。 - Rinzwind
谢谢你的回复,Rinzwind!那正是我所考虑的,但我在使用kickstart时遇到了一些困难,无法让它正常工作。 - HarlemSquirrel
1这个帖子帮助我解决了键盘选择的问题。http://ubuntuforums.org/showthread.php?t=2132617 - HarlemSquirrel
我正在继续处理这个问题,看起来可能不再需要Kickstart,只需要使用自定义的preseed文件即可。 - HarlemSquirrel
我成功地使用 ubiquity ubiquity/success_command string in-target apt-get -y install openssh-server; 命令安装了 openssh-server。 - HarlemSquirrel
我可以使用ubiquity ubiquity/success_command string in-target apt-get -y purge unity-scope-yahoostock来移除软件包,但这种方法似乎效率低下,因为它会在安装后立即移除软件包。有没有人知道如何排除某些软件包?Debian的d-i pkgsel/exclude string unity-scope-yahoostock在Ubiquity中似乎不起作用。 - HarlemSquirrel
1如果你编辑一下你的问题,你会得到更多的关注。据我记得,在Ubuntu中删除是不起作用的。我通过一个安装后脚本解决了大部分的问题。 - Rinzwind
1个回答

我能解决所有问题,除了预设Edubuntu特定的问题,所以我打算使用Ubuntu原始安装,并进行以下自定义设置。我将安装Edubuntu软件包,并使用bash脚本进行更多设置,通过SSH运行这些脚本。
  • 键盘布局设置为keyboard-configuration/layoutcode=us和console-setup/ask_detect=false引导参数
  • 使用ubiquity ubiquity/success_command string in-target apt-get -y purge package命令来移除软件包
  • 使用ubiquity ubiquity/success_command string in-target apt-get -y install openssh-server;命令来安装软件包
  • 我能够在ubiquity ubiquity/success_command string之后的命令中设置主机名(请参考下面的EBA.seed)

isolinux/isolinux.cfg

# D-I 配置版本 2.0 包括 menu.cfg 默认 vesamenu.c32 提示 0 超时 50 ui gfxboot bootlogo

isolinux/txt.cfg

默认无人值守EBA安装 标签无人值守EBA安装 菜单标签 ^为EBA无人值守安装 内核 /casper/vmlinuz.efi 追加 文件=/cdrom/preseed/EBA.seed 键盘配置/布局代码=us 和 控制台设置/ask_detect=false 引导=casper automatic-ubiquity noprompt initrd=/casper/initrd.lz -- 标签实时 菜单标签 ^尝试Ubuntu而不安装 内核 /casper/vmlinuz.efi 追加 文件=/cdrom/preseed/ubuntu.seed 引导=casper initrd=/casper/initrd.lz quiet splash -- 标签实时安装 菜单标签 ^安装Ubuntu 内核 /casper/vmlinuz.efi 追加 文件=/cdrom/preseed/ubuntu.seed 引导=casper only-ubiquity initrd=/casper/initrd.lz quiet splash -- 标签检查 菜单标签 ^检查光盘是否有缺陷 内核 /casper/vmlinuz.efi 追加 引导=casper integrity-check initrd=/casper/initrd.lz quiet splash -- 标签内存测试 菜单标签 测试 ^内存 内核 /install/mt86plus 标签硬盘 菜单标签 ^从第一硬盘启动 localboot 0x80

preseed/EBA.seed

#### EBA的自定义Preseed ### 作者:Kevin ### Ubuntu/Edubuntu 14.04 ##################################################################################
### 常规设置 ###################
# 清空预设值以避免总结页面 ubiquity ubiquity/summary string empty # 自动重启,将'noprompt'添加到内核命令行 ubiquity ubiquity/reboot boolean true
### 本地化设置 #################### # 预设只有区域设置语言、国家和语言环境。 d-i debian-installer/locale string en_US
# 键盘选择 # 禁用自动(交互式)键位图检测。 d-i console-setup/ask_detect boolean false d-i keyboard-configuration/xkb-keymap select us ubiquity languagechooser/language-name select English ubiquity countrychooser/shortlist select US ubiquity localechooser/supported-locales en_US.UTF-8 ubiquity console-keymaps-at/keymap select us
### 网络配置 ############################# # 完全禁用网络配置。这在非网络设备上进行光盘安装时非常有用, # 因为网络问题、警告和长时间等待都很烦人。 d-i netcfg/enable boolean false # 如果可能,netcfg将选择已连接的网络接口。这将使其 # 在存在多个接口时跳过显示列表。 d-i netcfg/choose_interface select auto
# 禁用那个恼人的WEP密钥对话框。 #d-i netcfg/wireless_wep string # 一些ISP使用的古怪的DHCP主机名,类似于密码。 #d-i netcfg/dhcp_hostname string radish
# 如果网络或其他硬件需要非自由固件,您可以 # 配置安装程序始终尝试加载它们,而无需提示。或者 # 更改为false以禁用询问。 d-i hw-detect/load_firmware boolean true ### 镜像设置 # 如果选择ftp,则不需要设置mirror/country字符串。 #d-i mirror/protocol string ftp #d-i mirror/country string manual #d-i mirror/http/hostname string http.us.debian.org #d-i mirror/http/directory string /debian d-i mirror/http/proxy string http://proxy:8002
### 帐户设置 ####################
# 创建普通用户帐户。 d-i passwd/user-fullname string EBA Tech d-i passwd/username string eba d-i passwd/user-password-crypted password ****
### 时钟和时区设置 # 控制硬件时钟是否设置为UTC时间。 d-i clock-setup/utc boolean true # 您可以将此项设置为$TZ的任何有效设置;请参阅 # /usr/share/zoneinfo/中的内容获取有效值。 d-i time/zone string US/Eastern
# 控制是否在安装过程中使用NTP来同步时钟 d-i clock-setup/ntp boolean true # 要使用的NTP服务器。默认情况下,这里几乎总是可以的。 #d-i clock-setup/ntp-server string ntp.example.com
### 分区设置 #####################
d-i partman-auto/method string lvm d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true # 您可以选择三个预定义的分区方案之一: # - atomic:所有文件都在一个分区中 # - home:独立的/home分区 # - multi:独立的/home、/var和/tmp分区 d-i partman-auto/choose_recipe select atomic
# 这将使partman自动进行分区而无需确认,前提是 # 您使用上述其中一种方法告诉它要做什么。 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
### 基本系统安装 ################################
### Apt设置