¿Cómo puedo eliminar paquetes usando preseed?

13

Estoy configurando un sistema preestablecido automático "sin preguntas" y usando el servidor preestablecido de Dustin Kirkland como ejemplo.

Utiliza la siguiente línea para instalar tres paquetes como parte de la instalación automatizada:

d-i pkgsel/include string byobu vim openssh-server

Estoy buscando lo contrario de esto, básicamente poder eliminar paquetes como parte de la instalación automatizada.

Estoy pensando que necesito usar d-i preseed/late_command string apt-remove packagenamepara limpiar cosas que no quiero cuando la instalación esté terminada, pero no estoy seguro

Jorge Castro
fuente
Definitivamente cómo lo haría. Sin embargo, no es grande en preseed. Utilizo pseudopaquetes y comienzo desde una instalación base que no tiene nada que no quiera.
RobotHumans
¿Nadie del equipo de escritorio o del equipo del servidor examinó esta pregunta?
Manish Sinha
He intentado este enfoque para eliminar paquetes, pero no funciona para mí :(. Gist.github.com/lmayorga1980/6d698a5d5425c676ecdd
Maverick

Respuestas:

13

No hay una opción para purgar o eliminar un paquete en el script de configuración preestablecido, pero puede usar este comando ...

di preseed / late_command

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.
"in-target" means: chroot /target
d-i preseed/late_command string [in-target] foo

ejemplo:

d-i preseed/late_command string \
            in-target apt-get remove packagename

También puedes ejecutar un script:

d-i preseed/late_command string \
        in-target wget http://........./postinst.sh -O /root/postinst.sh; \
        in-target /bin/bash /root/postinst.sh

o instalar un grupo de archivos DEB:

d-i preseed/late_command               string \
    for deb in /hd-media/*.deb; do cp $deb /target/tmp; \
    chroot /target dpkg -i /tmp/$(basename $deb); done
hhlp
fuente
0

El ejemplo presionado es solo un ejemplo; no contiene todas las combinaciones di posibles, sino solo las más comunes.

Personalmente, nunca he intentado eliminar paquetes de una instalación, por lo que no estoy seguro de que haya un comando di específico para ello; Parece que tu d-i preseed late_commanddeberías funcionar. Una búsqueda rápida en los documentos no produjo nada ... Pero, por supuesto, Colin lo sabría ;-)

Alternativamente, puede comenzar desde un servidor básico y luego agregar lo que desee:

tasksel tasksel/first   multiselect     Basic Ubuntu server
...
d-i preseed/late_command string apt-install whatever else
hggdh
fuente