Como posso remover pacotes usando preseed?

11

Estou configurando um sistema de pré-configuração automatizado "sem perguntas" e usando o server preseed 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, ser capaz de remover pacotes como parte da instalação automatizada.

  • Eu verifiquei o Guia de instalação
  • Eu verifiquei este exemplo preseed , mas não está claro se isso é a lista canônica de todas as opções disponíveis.

Estou pensando em usar d-i preseed/late_command string apt-remove packagename para limpar coisas que não quero quando a instalação estiver concluída, mas não tenho certeza

    
por Jorge Castro 28.07.2011 / 06:40

2 respostas

11

Não há uma opção para excluir o pacote no script de configuração preseed, mas você pode usar este comando ....

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

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
    
por hhlp 21.10.2011 / 12:08
0

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

Pessoalmente, eu nunca tentei remover pacotes de uma instalação, então não tenho certeza se existe um comando d-i específico para isso; Parece que seu d-i preseed late_command deve funcionar. Uma busca rápida nos documentos d-i não produziu nada ... Mas, claro, Colin saberia; -)

Como alternativa, você pode começar de 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
    
por hggdh 05.10.2011 / 02:41