Я выполняю полностью автоматическую установку Ubuntu Server (Saucy) 13.10, а также хочу включить дополнительное программное обеспечение. Формат preseed.cfg:
d-i debian-installer/locale string en_US
d-i debian-installer/language string en
d-i debian-installer/country string NL
d-i debian-installer/locale string en_GB.UTF-8
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/modelcode string pc105
d-i keyboard-configuration/layoutcode string us
d-i netcfg/choose_interface select auto
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually
d-i netcfg/get_nameservers string 192.168.1.1
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/confirm_static boolean true
d-i netcfg/get_hostname string demo
d-i netcfg/get_domain string www.demo.com
d-i netcfg/wireless_wep string
d-i mirror/country string manual
d-i mirror/http/hostname string archive.ubuntu.com
d-i mirror/http/directory string /ubuntu
d-i mirror/http/proxy string
d-i mirror/http/mirror select CC.archive.ubuntu.com
d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string ntp.example.com
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-auto/choose_recipe select atomic
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
d-i partman-md/confirm boolean true
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
d-i passwd/user-fullname string demo
d-i passwd/username string demo
d-i passwd/user-password password demo123
d-i passwd/user-password-again password demo123
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false
tasksel tasksel/first multiselect ubuntu-desktop
d-i pkgsel/include string openssh-server build-essential juju ruby virtualbox kvm git openstack
d-i pkgsel/update-policy select none
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
Я попытался включить пользовательское программное обеспечение juju, openstack, написав их в конце сообщения%, таким образом:
%post
juju
git
openstack
ruby
Но у меня возникла ошибка синтаксического анализа. Теперь я попытался включить эти программы в pkgsel / include, но снова получил ошибку. Есть ли способ исправить это?
Вместо использования pkgsel / include я использовал команду late, pkgsel будет работать, если эти пакеты перечислены в репозитории Ubuntu, но, поскольку желаемые пакеты, не включенные в официальный репозиторий Ubuntu, pkgsel не будет работать, поэтому лучше использовать команду late.
"% post" используется для запуска команд после установки. Вместо "% post" вы хотите использовать "% packages":
%packages
juju
git
openstack
ruby
Вы можете использовать что-то вроде следующего в скрипте конфигурации preseed.
d-i preseed/late_command string \
in-target apt-get install <packages>