Preseed kullanarak paketleri nasıl kaldırabilirim?


13

Otomatik bir "soru sorulmamış" preseed sistemi kuruyorum ve Dustin Kirkland'ın sunucu preseed'ini örnek olarak kullanıyorum.

Otomatik yüklemenin bir parçası olarak üç paket yüklemek için aşağıdaki satırı kullanır:

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

Bunun tersini arıyorum , temel olarak otomatik yüklemenin bir parçası olarak paketleri kaldırabiliyorum.

d-i preseed/late_command string apt-remove packagenameYükleme tamamlandığında istemediğim şeyleri temizlemek için kullanmam gerektiğini düşünüyorum , ama emin değilim


Kesinlikle nasıl bu konuda gitmek istiyorum. Preseed üzerinde büyük değil ama. Sahte paketler kullanıyorum ve istemediğim hiçbir şeye sahip olmayan bir temel kurulumdan başlıyorum.
RobotHumans

Masaüstü veya sunucu ekibinden kimse bu soruya bakmadı mı?
Manish Sinha

Paketleri kaldırmak için bu yaklaşımı denedim ama benim için çalışmıyor :(. Gist.github.com/lmayorga1980/6d698a5d5425c676ecdd
Maverick

Yanıtlar:


13

Önceden ayarlanmış yapılandırma komut dosyasındaki bir paketi silme seçeneğini temizleme seçeneği yoktur, ancak bu komutu kullanabilirsiniz ....

yazarı: 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

misal :

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

bir komut dosyası da çalıştırabilirsiniz:

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

veya bir grup DEB dosyası yükleyin:

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

Basılan örnek sadece bir örnektir; olası tüm di kombinasyonlarını içermez, sadece daha yaygın olanları içerir.

Şahsen, paketleri bir kurulumdan kaldırmaya çalışmadım, bu yüzden bunun için belirli bir di komutu olduğundan emin değilim; Sanki d-i preseed late_commandçalışmalısın gibi geliyor . Di docs üzerinde hızlı bir arama hiçbir şey üretmedi ... Ama elbette, Colin bilirdi ;-)

Alternatif olarak, temel bir sunucudan başlayıp istediğinizi ekleyebilirsiniz:

tasksel tasksel/first   multiselect     Basic Ubuntu server
...
d-i preseed/late_command string apt-install whatever else
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.