web-dev-qa-db-fra.com

Comment puis-je supprimer des paquets en utilisant Preseed?

J'installe un système automatisé de préconfiguration "sans questions posées" et utilise l'exemple de Dustin Kirkland Server Preseed .

Il utilise la ligne suivante pour installer trois packages dans le cadre de l'installation automatisée:

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

Je suis à la recherche de l'inverse de ce processus, afin de pouvoir supprimer les packages dans le cadre de l'installation automatisée.

Je pense que je dois utiliser d-i preseed/late_command string apt-remove packagename pour nettoyer des éléments dont je ne veux pas quand l'installation est terminée, mais je ne suis pas sûr

11
Jorge Castro

Il n’existe pas d’option permettant de purger ou de supprimer un package dans le script de configuration de préconfiguration, mais vous pouvez utiliser cette commande ....

d-i 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

exemple :

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

vous pouvez également exécuter 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

ou installer un groupe de fichiers 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
11
hhlp

L'exemple cité n'est qu'un exemple. il ne contient pas toutes les combinaisons possibles de d-i, mais seulement celles plus courantes.

Personnellement, je n’ai jamais essayé de supprimer les paquets d’une installation, je ne suis donc pas sûr qu’il existe une commande d-i spécifique; cela ressemble à votre d-i preseed late_command devrait fonctionner. Une recherche rapide sur les d-i docs ne produisit rien ... Mais, bien sûr, Colin le saurait ;-)

Vous pouvez également démarrer à partir d'un serveur de base, puis ajouter ce que vous voulez:

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