Existe-t-il un moyen de créer apt-get dist-upgrade
dans Debian une réponse non seulement «oui» automatique à toutes les questions posées, mais également d'utiliser des valeurs par défaut raisonnables pour répondre à des questions suffisamment sophistiquées pour nécessiter l'ouverture de diverses boîtes de dialogue interactives? Je pense ici aux éléments de clavier qui apparaissent lors de la mise à niveau libc6
et aux choix d’images du noyau.
Le but est de pouvoir initier à distance dist-upgrade
une machine assez volumineuse - même pour une machine qui est sérieusement en retard - et de ne pas avoir à la garder du tout, à moins que quelque chose ne soit horriblement, catastrophiquement faux.
C'est sûrement possible?
Merci d'avance!
Réponses:
Si vous définissez
DEBIAN_FRONTEND=noninteractive
(pour que les invites debconf n'apparaissent plus) et que vous ajoutiezforce-confold
etforce-confdef
à votre/etc/dpkg/dpkg.cfg
fichier, vous devriez avoir une expérience d'installation de paquet totalement non interactive. Tout paquet qui vous demande toujours des informations a un bogue critique pour la publication (et je le dis à la fois en tant que drogué en automatisation et en tant que développeur Debian).la source
apt-listchanges
a été ouvert parless
.Florian Lohoff a publié un moyen d’obtenir ce que womble a suggéré en une seule commande:
Bien sûr, vous pouvez également utiliser
-o Dpkg::Options::="--force-confnew --force-confdef"
(recherchez confnew dans la page de manuel dpkg). Je ne sais pas dans quels cas cela ferait une différence. J'ai personnellement besoin de la mise à niveau non interactive pour mettre à jour les images vanilla. Dans ce cas, je suppose que choisir le nouveau fichier de configuration (sans--force-confdef
) est une chose raisonnable.la source
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Bien que la réponse de womble ci-dessus soit généralement bonne, cela ne fonctionna pas pour moi et je dus faire des recherches supplémentaires pour rester à 100% sans surveillance. Je pensais partager le résultat de manière concise pour simplifier les choses pour les futurs visiteurs.
Ce qui suit est un script qui s'exécutera conformément aux recommandations de mise à niveau (principalement) de la version 8 des notes de publication de Debian, ainsi que des indicateurs et des variables d’environnement qui le rendront autonome. (les
echo
s sont juste pour le débogage et peuvent être supprimés - bien que je recommande de les garder ainsi si le script est bloqué vous saurez où)la source
> = Apt 1.1
Si vous utilisez Apt 1.1 ou au- dessus,
--force-yes
a été dépréciée , de sorte que vous avez à utiliser les options commençant par la--allow
place, par exemple--allow-downgrades
,--allow-remove-essential
,--allow-change-held-packages
.La commande est donc:
Remarque: Utilisez cette option
--force-confold
pour conserver l’ancien et--force-confnew
pour conserver les nouvelles configurations.Source: CFE-2360: Indiquer la version du module de paquet apt_get .
En relation:
la source
De la
apt-get(8)
page de manuel:Pour référence, l'
-y
option fonctionneyum(8)
également.la source