Outils pour utilisateurs

Outils du site


tech:debian_preseed_install_automatique_par_fichier_de_reponse

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tech:debian_preseed_install_automatique_par_fichier_de_reponse [2025/03/24 15:06] – créée - modification externe 127.0.0.1tech:debian_preseed_install_automatique_par_fichier_de_reponse [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon Debian Preseed}}
 +
 +# Debian Preseed - Install automatique par fichier de réponse
 +
 +Voir [[live-usb]]
 +
 +Liens : 
 +* https://wiki.debian.org/DebianInstaller/Preseed/EditIso
 +* https://wiki.deimos.fr/Automatiser_une_installation_de_Debian?PageSpeed=noscript
 +* https://wiki.debian.org/DebianInstaller/Preseed
 +* https://gist.github.com/josch/1357635
 +* http://people.canonical.com/~chiluk/preseed.cfg
 +* https://github.com/mojotech/mojo-images/blob/master/config/preseed.cfg
 +* https://gist.github.com/sturadnidge/5841112
 +* http://askubuntu.com/questions/122505/how-do-i-create-a-completely-unattended-install-of-ubuntu
 +* http://silicone.homelinux.org/2013/06/19/building-a-custom-debian-cd/
 +* https://gist.github.com/aktau/5510437
 +* http://yeuxdelibad.net/Logiciel-libre/Debian/Creer_sa_propre_distribution_avec_live-build.html
 +
 +Plop
 +* https://guillaume.vaillant.me/?p=372
 +* http://searchitchannel.techtarget.com/feature/Performing-an-automated-Ubuntu-install-using-preseeding
 +* http://www.50ply.com/blog/2012/07/16/automating-debian-installs-with-preseed-and-puppet/
 +* https://github.com/cobbler/cobbler/wiki/Using-template-scripts-for-Debian-and-Ubuntu-seeds
 +* https://fak3r.com/2011/08/18/howto-automate-debian-installs-with-preseed/
 +
 +VPN
 +* https://www.offensive-security.com/kali-linux/kali-linux-iso-of-doom/
 +
 +CD personnalisé:
 +* https://help.ubuntu.com/community/InstallCDCustomization#Modify_pool_structure_to_include_more_packages
 +
 +~~~bash
 +apt-get install debconf-utils
 +debconf-get-selections --installer
 +~~~
 +
 +~~~bash
 +mount -o loop /home/jean/iso/debian-8.2.0-amd64-CD-1.iso /mnt/iso/
 +rsync -a -H /mnt/iso/ /home/jean/dev/presseed/iso
 +umount /mnt/iso
 +chown jean: -R /home/jean/dev/presseed/iso                                      
 +chmod -R u+rwX /home/jean/dev/presseed/iso  
 + 
 +#fakeroot
 +rm irmod/ -rf
 +mkdir irmod
 +cd irmod
 +gzip -d < ../iso/install.amd/initrd.gz | cpio --extract --verbose --make-directories --no-absolute-filenames
 +/bin/cp -f ../preseed.cfg preseed.cfg
 +find . | cpio -H newc --create --verbose | gzip -9 > ../iso/install.amd/initrd.gz
 +#exit
 +cd ..
 + 
 +cd iso
 +md5sum $(find . -not -name "md5sum.txt" -follow -type f) > md5sum.txt
 +
 +cd ..
 +genisoimage -o test.iso -r -J -no-emul-boot -boot-load-size 4  -boot-info-table -b isolinux/isolinux.bin -c isolinux/boot.cat ./iso
 + 
 +# Pour rendre "hybrid" l'iso, donc compatible USB en plus de CD/DVD
 +# Paquet syslinux-utils ou alors paquet syslinux
 +isohybrid test.iso
 +~~~
 +
 +Pour le debug voir /var/log/installer/syslog
 +
 +Note FRONTEND
 +~~~ini
 +DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
 +DEBIAN_FRONTEND=text
 +DEBIAN_FRONTEND=newt
 +DEBIAN_FRONTEND=gtk
 +
 +FRONTEND_BACKGROUND=dark
 +~~~
 +
 +### Validation
 +
 +Pour vérifier la syntaxe
 +
 +~~~bash
 +sudo debconf-set-selections -c /path/to/preseed-debconf-file.txt
 +~~~
 +
 +
 +## Preseed
 +
 +~~~
 +# Preseed file for Debian
 +# Source http://wiki.deimos.fr/Automatiser_une_installation_de_Debian
 +
 +### Contents of the preconfiguration file (for wheezy)
 +d-i debian-installer/language string en
 +d-i debian-installer/country string FR
 +d-i debian-installer/locale string en_US.UTF-8
 +d-i localechooser/supported-locales multiselect en_US.UTF-8, fr_FR.UTF-8
 +
 +### Keyboard
 +d-i keyboard-configuration/xkb-keymap select fr
 +d-i keyboard-configuration/xkb-keymap select fr(latin9)
 +d-i console-keymaps-at/keymap select fr
 +
 +# keymap is an alias for keyboard-configuration/xkb-keymap
 +#d-i keymap select fr(latin9)
 +
 +### Network configuration
 +d-i netcfg/choose_interface select auto
 +d-i netcfg/get_hostname string unassigned-hostname
 +d-i netcfg/get_domain string unassigned-domain
 +d-i netcfg/wireless_wep string
 +
 +### Other
 +d-i hw-detect/load_firmware boolean false
 +
 +### Apt mirror
 +#d-i mirror/protocol string http
 +#d-i mirror/country string manual
 +#d-i mirror/http/hostname string ftp.fr.debian.org
 +#d-i mirror/http/directory string /debian
 +#d-i mirror/http/proxy string
 +#d-i mirror/suite string wheezy
 +d-i mirror/protocol string ftp
 +d-i mirror/ftp/hostname string ftp.fr.debian.org
 +d-i mirror/ftp/directory string /debian
 +d-i mirror/ftp/proxy string
 +
 +### Account setup
 +d-i passwd/root-login boolean false
 +d-i passwd/make-user boolean true
 +d-i passwd/root-password password toor
 +d-i passwd/root-password-again password toor
 +d-i passwd/user-fullname string Defab
 +d-i passwd/username string exploit
 +d-i passwd/user-password password toor
 +d-i passwd/user-password-again password toor
 +d-i passwd/user-uid string 1010
 +
 +### Clock and time zone setup
 +d-i clock-setup/utc boolean true
 +d-i time/zone string Europe/Paris
 +d-i clock-setup/ntp boolean true
 +
 +### Partitioning
 +d-i partman-auto/choose_recipe select home
 +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
 +# MARK
 +d-i partman-auto/disk string /dev/sda
 +
 +
 +# MARK
 +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/mount_style select uuid
 +
 +### Base system installation
 +d-i base-installer/install-recommends boolean false
 +
 +### Apt setup
 +apt-cdrom-setup apt-setup/cdrom/set-first boolean false
 +# apt-cdrom-setup apt-setup/cdrom/set-next  boolean false
 +apt-cdrom-setup apt-setup/cdrom/set-next  boolean false
 +d-i apt-setup/contrib boolean true
 +d-i apt-setup/use_mirror boolean true
 +d-i apt-setup/services-select multiselect security, volatile
 +d-i apt-setup/security_host string security.debian.org
 +d-i apt-setup/volatile_host string volatile.debian.org
 +
 +### Package selection
 +tasksel tasksel/first multiselect standard
 +d-i pkgsel/upgrade select safe-upgrade
 +popularity-contest popularity-contest/participate boolean false
 +d-i pkgsel/include string openssh-server build-essential vim curl wget sudo lm-sensors smartmontools openvpn
 +
 +### Grub
 +d-i grub-installer/only_debian boolean true
 +d-i grub-installer/with_other_os boolean false
 +# 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
 +
 +# Finish install
 +d-i finish-install/reboot_in_progress note
 +d-i cdrom-detect/eject boolean true
 +
 +# Postinstall
 +d-i preseed/late_command string \
 +    in-target mkdir /root/.ssh ; \
 +    in-target mkdir /root/preseed ; \
 +    in-target /bin/sh -c "echo '192.168.15.6 pkiweb.lan' >> /etc/hosts" ; \
 +    cp /cdrom/preseed/authorized_keys /target/root/.ssh/ ; \
 +    in-target chown -R root:root /root/ ; \
 +    in-target chmod -R go-rwx /root/.ssh/authorized_keys ; \
 +    in-target sed -i 's/PermitRootLogin yes/PermitRootLogin without-password/g' /etc/ssh/sshd_config ; \
 +    in-target /bin/sh -c "echo 'PasswordAuthentication no' >> /etc/ssh/sshd_config'" ; \
 +    in-target apt-get clean ; \
 +    cp /cdrom/preseed/* /target/root/preseed ; \
 +    in-target chmod +x /root/preseed/firstboot.sh ; \
 +    in-target sed -i.bak "s%^exit 0%/root/preseed/firstboot.sh\x0aexit 0%" /etc/rc.local ;
 +
 +
 +
 +~~~
 +
 +
 +## Pb
 +
 +Pb
 +~~~
 +/bin/preseed_command: return: line 23: Illegal number
 +~~~
 +
 +Erreur.
 +
 +Cette erreur survient à cause du retour ligne '\n'.
 +
 +Solution
 +Dans le cas présent, j'ai remplacé `\n` par `\x0a`
 +
 +Exemple :
 +
 +`preseed.cfg`
 +~~~
 +d-i preseed/late_command string \
 +        in-target sed -i.bak "s%^exit 0%/root/preseed/firstboot.sh\nexit 0%" /etc/rc.local ;
 +~~~
 +
 +
 +`preseed.cfg`
 +~~~
 +d-i preseed/late_command string \
 +        in-target sed -i.bak "s%^exit 0%/root/preseed/firstboot.sh\x0aexit 0%" /etc/rc.local ;
 +~~~
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki