Come posso rimuovere i pacchetti usando preseed?


13

Sto configurando un sistema preconfigurato "senza domande" automatizzato e usando il server preconfigurato di Dustin Kirkland come esempio.

Usa la seguente riga per installare tre pacchetti come parte dell'installazione automatica:

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

Sto cercando il contrario di questo, fondamentalmente essere in grado di rimuovere i pacchetti come parte dell'installazione automatica.

Sto pensando di dover utilizzare d-i preseed/late_command string apt-remove packagenameper ripulire le cose che non voglio al termine dell'installazione, ma non sono sicuro


Sicuramente come lo farei. Non grande su preconfigurato però. Uso pseudopackages e inizio da un'installazione di base che non ha nulla che non voglia.
RobotHumans,

Nessuno del team desktop o del server server ha esaminato questa domanda?
Manish Sinha,

Ho provato questo approccio per rimuovere i pacchetti ma non funziona per me :(. Gist.github.com/lmayorga1980/6d698a5d5425c676ecdd
Maverick

Risposte:


13

Non esiste un'opzione per eliminare o eliminare un pacchetto nello script di configurazione preconfigurato ma è possibile utilizzare questo 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

esempio :

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

puoi anche eseguire uno 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 installa un gruppo di file 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

0

L'esempio premuto è solo un esempio; non contiene tutte le possibili combinazioni, ma solo quelle più comuni.

Personalmente, non ho mai provato a rimuovere i pacchetti da un'installazione, quindi non sono sicuro che ci sia un comando specifico per esso; sembra che d-i preseed late_commanddovresti funzionare. Una rapida ricerca sui documenti non ha prodotto nulla ... Ma, naturalmente, Colin lo saprebbe ;-)

In alternativa, è possibile iniziare da un server di base e quindi aggiungere quello che si desidera:

tasksel tasksel/first   multiselect     Basic Ubuntu server
...
d-i preseed/late_command string apt-install whatever else
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.