Afin d'éviter de taper toutes les commandes apt-get lors de la mise à jour de mon ordinateur, j'ai créé une simple commande alias pour le faire. Mais j'aimerais vraiment pouvoir taper mon alias et le laisser faire son travail, sans avoir à attendre l'invite oui/non pour taper "y". Existe-t-il un moyen simple de contourner cette invite ou peut-être d'ajouter "oui" dans l'alias quelque part ?
Réponse
Trop de publicités?La réponse de @wojox est correcte, mais vous pouvez pousser l'alias encore plus loin pour plus de fonctionnalités. Je l'utilise depuis un certain temps maintenant sans problème. Cela permettra d'effectuer les mises à niveau (en confirmant avec -y
), puis de vérifier si un redémarrage est nécessaire. Si un redémarrage est nécessaire, vous pouvez le faire en appuyant sur [ENTER]
ou annuler et redémarrer plus tard en appuyant sur [CTRL+C]
. Si aucun redémarrage n'est nécessaire, l'alias termine en vous le faisant savoir.
Mon alias est sur
pour "sudo upgrade reboot", mais n'hésitez pas à lui donner le nom que vous voulez. Ajoutez ce qui suit à votre .bashrc
fichier :
alias sur='sudo apt update && sudo apt upgrade -y && if sudo test -f /var/run/reboot-required; then read -p "A reboot is required to finish installing updates. Press [ENTER] to reboot now, or [CTRL+C] to cancel and reboot later." && sudo reboot; else echo "A reboot is not required. Exiting..."; fi'
Vous pouvez continuer à enchaîner d'autres commandes si vous souhaitez en faire plus avec le même alias. Voici l'alias complet de mon .bashrc
qui supprimera également les paquets inutilisés :
alias sur='sudo apt update && sudo apt dist-upgrade -y && sudo apt autoremove -y && if sudo test -f /var/run/reboot-required; then read -p "A reboot is required to finish installing updates. Press [ENTER] to reboot now, or [CTRL+C] to cancel and reboot later." && sudo reboot; else echo "A reboot is not required. Exiting..."; fi'
Je suis tombé sur ce fil de discussion en vérifiant s'il existe une option permettant d'ignorer l'invitation à écraser les fichiers de configuration. Merci @Vadim pour votre réponse ci-dessus ! Mon nouvel alias est le suivant :
alias sur='sudo apt update && sudo apt -o Dpkg::Options::="--force-confdef" dist-upgrade -y && sudo apt autoremove -y && if sudo test -f /var/run/reboot-required; then read -p "A reboot is required to finish installing updates. Press [ENTER] to reboot now, or [CTRL+C] to cancel and reboot later." && sudo reboot; else echo "A reboot is not required. Exiting..."; fi'
Je pousse ensuite ce nouveau .bashrc
à chacun de mes serveurs gérés simplement avec :
while read HOST; do scp .bashrc username@$HOST:/home/username; done < managedhosts.txt
- Réponses précédentes
- Plus de réponses