1 votes

Comment faire apt-get dist-upgrade avec non interactif?

Je suis sur Ubuntu 20.04 et j'utilise cette commande :

DEBIAN_FRONTEND=noninteractive UCF_FORCE_CONFFOLD=1 apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y --allow-downgrades --allow-remove-essential --allow-change-held-package dist-upgrade

Cependant, je reçois 2 invites de dialogue pendant ce processus :

kdump-tools

grub-efi

J'ai essayé de chercher une réponse pendant des heures, j'ai trouvé des pages comme celle-ci mais malheureusement les solutions ne préviennent pas ces dialogues : https://serverfault.com/questions/48724/100-non-interactive-debian-dist-upgrade

Comment automatiser la sélection du premier élément dans le cas de grub-efi et sélectionner "oui" dans le cas de kdump-tools ?

1voto

Hackeron Points 123

La commande qui définit les paramètres de debconf ressemble à ceci :

echo "grub-pc grub-pc/install_devices multiselect /dev/sda1" | sudo debconf-set-selections

Cependant, pour rendre les choses un peu plus propres, j'en suis arrivé à ce code Ruby :

debconf_rules = {
  'grub-pc' => [
    'install_devices multiselect /dev/sda1',
    'postrm_purge_boot_grub boolean false'
  ],
  'grub-efi' => 'install_devices multiselect /dev/sda1',
  'kdump-tools' => 'use_kdump boolean true',
  'postgresql-15' => 'postrm_purge_data boolean true'
}

# p. ex. echo "grub-pc grub-pc/install_devices multiselect /dev/sda1" | sudo debconf-set-selections
debconf_rules.each do |package, rules|
  rules = [rules] unless rules.is_a?(Array)
  rules.each do |rule|
    puts "Définition de la règle DPKG : #{package} #{package}/#{rule}"
    `echo "#{package} #{package}/#{rule}" | sudo debconf-set-selections`
  end
end

0voto

debconf-set-selections <<< "grub-efi grub-efi/install_devices multiselect /dev/sda1"
debconf-set-selections <<< "kdump-tools kdump-tools/install_kdump boolean true"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X