Como posso remover pacotes usando preseed?

12

Estou configurando um sistema preseed automatizado "sem perguntas" e usando o servidor de Dustin Kirkland como um exemplo.

Ele usa a seguinte linha para instalar três pacotes como parte da instalação automatizada:

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

Eu estou procurando o inverso disso, basicamente, posso remover pacotes como parte da instalação automatizada.

Acho que preciso usar d-i preseed/late_command string apt-remove packagenamepara limpar coisas que não quero quando a instalação estiver concluída, mas não tenho certeza

Jorge Castro
fonte
Definitivamente como eu iria fazer isso. Não é grande em preseed embora. Uso pseudopacotes e começo de uma instalação básica que não tem nada que eu não queira.
21711 RobotHumans
Ninguém da equipe de desktop ou servidor olhou para esta pergunta?
Manish Sinha
Eu tentei essa abordagem para remover pacotes, mas não está funcionando para mim :(. Gist.github.com/lmayorga1980/6d698a5d5425c676ecdd
Maverick

Respostas:

13

Não há uma opção para excluir ou excluir um pacote no script de configuração preseed, mas você pode 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

exemplo:

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

você também pode executar um 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 instale um grupo de arquivos 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
fonte
0

O exemplo pressionado é apenas um exemplo; ele não contém todas as combinações possíveis, mas apenas as mais comuns.

Pessoalmente, nunca tentei remover pacotes de uma instalação; portanto, não tenho certeza de que exista um comando di específico; parece que o seu d-i preseed late_commanddeve funcionar. Uma rápida pesquisa nos documentos não produziu nada ... Mas, é claro, Colin saberia ;-)

Como alternativa, você pode iniciar em um servidor básico e adicionar o que quiser:

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