--- title: "[筆記] 在 Ubuntu 1404 Preseed 加入開機後自動發郵件通知安裝完成" date: 2020-04-06T10:21:41+08:00 draft: false noSummary: false categories: ['筆記'] image: https://h.cowbay.org/images/post-default-5.jpg tags: ['pxe','ubuntu'] author: "Eric Chang" keywords: - pxe - ubuntu --- 這是之前做過的task,client透過pxe開機後,會自動安裝ubuntu 14.04 在安裝完成後,會發出郵件通知管理者已經安裝完成 可是某次ansible 更新之後,反而沒辦法安裝完成 這次順手修改一下,同時更新了ansible 的template ###os-ubuntu-1404-desktop-preseed.cfg ``` ### Localization # Keyboard selection. d-i keyboard-configuration/xkb-keymap select us d-i console-setup/ask_detect boolean false d-i console-setup/layoutcode string us d-i keyboard-configuration/ask_detect boolean false d-i keyboard-configuration/layoutcode string us # The values can also be preseeded individually for greater flexibility. d-i localechooser/preferred-locale string en_US.UTF-8 d-i localechooser/supported-locales en_US.UTF-8 d-i debian-installer/language string en d-i debian-installer/country string US d-i debian-installer/locale string en_US.UTF-8 d-i localechooser/continentlist string Asia ### Network d-i netcfg/choose_interface select auto ### Mirror settings # If you select ftp, the mirror/country string does not need to be set. d-i mirror/country string manual d-i mirror/http/proxy string {{ proxy_env }} d-i mirror/http/hostname string free.nchc.org.tw d-i mirror/http/directory string /ubuntu d-i mirror/http/mirror select free.nchc.org.tw ### Hostname d-i netcfg/get_hostname string ubuntu d-i netcfg/get_domain string abc.com ### account d-i passwd/user-fullname string Adminstrator d-i passwd/username string administrator d-i passwd/user-password-crypted password $6$random_salt$12332112332123123123 d-i user-setup/allow-password-weak boolean true d-i user-setup/encrypt-home boolean false d-i passwd/user-default-groups string audio cdrom video sudo adm ### Clock & Timezone d-i clock-setup/utc boolean true d-i time/zone string Asia/Taipei d-i clock-setup/ntp boolean true #d-i tzconfig/gmt boolean true d-i tzconfig/choose_country_zone/Asia select Taipei d-i tzconfig/choose_country_zone_single boolean true # Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string ubuntu ### Partitioning 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-lvm/confirm boolean true d-i partman-lvm/confirm_nooverwrite boolean true d-i partman-auto/choose_recipe select default-disk-layout ### 200% memory as swap , other space mount at / # Or provide a recipe of your own... # 2x physical RAM as swap , remain goes to root in ext4 , no LVM d-i partman-auto/expert_recipe string \ default-disk-layout :: \ 10240 20480 -1 ext4 \ $primary{ } $bootable{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ label{ root } \ mountpoint{ / } \ . \ 1024 2048 200% linux-swap \ method{ swap } format{ } \ . \ d-i partman/default_filesystem string ext4 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/mount_style select uuid ### Base system installation d-i base-installer/kernel/image string linux-generic ### Apt setup d-i apt-setup/restricted boolean true d-i apt-setup/universe boolean true d-i apt-setup/backports boolean true 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 # Package selection (tasksel --list-tasks) # ssh-server for 14.04/16.04 , openssh-server for 18.04 tasksel tasksel/first multiselect ubuntu-desktop,ssh-server # Individual packages (python-minimal for Ansible) #d-i pkgsel/include string python-minimal d-i pkgsel/include string net-tools ssh python2.7 axel curl vim unzip zip apt-file lynx elinks sysstat ntp htop screen apt-tra nsport-https wget curl git rsync postfix mailutils # Update policy #d-i pkgsel/update-policy select none d-i pkgsel/upgrade select safe-upgrade d-i pkgsel/update-policy select unattended-upgrades popularity-contest popularity-contest/participate boolean false d-i pkgsel/updatedb boolean true ## postfix preseeding # General type of configuration? Default:Internet Site # Choices: No configuration, Internet Site, Internet with smarthost, # Satellite system, Local only postfix postfix/main_mailer_type select Internet Site postfix postfix/mailname string pxe.abc.com postfix postfix/protocols select ipv4 # Reporting popularity-contest popularity-contest/participate boolean false # Bootloader d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i finish-install/keep-consoles boolean true d-i finish-install/reboot_in_progress note d-i cdrom-detect/eject boolean true #### Advanced options d-i preseed/late_command string \ in-target apt-file update; \ #in-target DEBIAN_FRONTEND=noninteractive apt-get install mailutils -y;\ in-target rm -rf /etc/apt/sources.list.d/ubuntu-esm-infra-trusty.list ; \ in-target cp /etc/rc.local /etc/rc.local.bak ;\ in-target /bin/sh -c 'echo "hostname|mail -s pxe_install_complete changch@abc.com" > /etc/rc.local' ;\ in-target /bin/sh -c 'echo "cp /etc/rc.local.bak /etc/rc.local" >> /etc/rc.local' ;\ in-target passwd --expire root ```