web-dev-qa-db-fra.com

Une seule commande pour tout mettre à jour dans Ubuntu?

Je sais qu'il y a trois commandes à mettre à jour puis à mettre à niveau l'ensemble du système, à savoir:

  • Sudo apt-get update # Lit la liste des mises à jour disponibles.
  • Sudo apt-get upgrade # Met strictement à jour les paquets actuels
  • Sudo apt-get dist-upgrade # Installe les mises à jour (nouvelles)

Existe-t-il une commande de super-mise à niveau qui combine toutes ces commandes en une?

14
JohnDoea

Il y a 3 choix décents:

  1. Vous pouvez créer un script du type suivant:

    #!/bin/bash
    set -e
    Sudo apt-get update
    Sudo apt-get upgrade
    Sudo apt-get dist-upgrade
    

    Appelez-le quelque chose comme update.sh et placez-le dans /usr/local/bin, puis rendez le script exécutable en lançant:

    Sudo chmod +x /usr/local/bin/update.sh
    
  2. Une autre méthode consisterait à créer un alias bash (dans ~/.bashrc) ou à l’endroit où vous stockez normalement vos alias:

    alias update='Sudo apt-get update && Sudo apt-get upgrade && Sudo apt-get dist-upgrade'
    
  3. Une dernière méthode serait simplement d'enchaîner les 3 commandes sur la ligne de commande:

    Sudo apt-get update && Sudo apt-get upgrade && Sudo apt-get dist-upgrade
    

Quelques choix ...

Référence:

19
andrew.46

Si vous êtes ennuyé par trop de frappe, vous pouvez définir vous-même un "alias". Cela peut être fait par exemple en ajoutant une ligne à la fin de votre $HOME/.profile comme ceci:

alias sau='Sudo aptitude update && Sudo aptitude upgrade'

(Bien sûr, vous pouvez remplacer "sau" par autre chose - pour moi, c'est un acronyme de Sudo Apt-get Update). Après avoir enregistré le fichier, ouvrez un nouveau shell (ou "source" le fichier .profile exécutant à nouveau . $HOME/.profile. Vous pouvez désormais simplement taper "sau" pour effectuer l'intégralité du travail. Fonctionne parfaitement pour plusieurs machines.

6
Izzy

Malheureusement, les deux commandes doivent être exécutées séparément.

3
Cormac O'Brien

Nous pouvons avoir une commande one-liner (pas besoin de scripts, il suffit de copier/coller)

Sudo apt update -y && Sudo apt full-upgrade -y && Sudo apt autoremove -y && Sudo apt clean -y && Sudo apt autoclean -y
  • update- met à jour la liste des packages mais ne l'installe pas
  • upgrade- installe les nouvelles versions des packages si de nouvelles versions sont disponibles
  • full-upgrade - remplit la fonction de mise à niveau mais supprimera les paquetages actuellement installés si cela est nécessaire pour mettre à niveau le système dans son ensemble (en corrigeant ensuite les mauvaises dépendances)
  • autoremovename__, autocleanet clean- nettoie les anciens paquets qui ne sont plus nécessaires
  • l'option -y ne demande pas la permission à chaque étape
1
Sudo apt install unattended-upgrades

C'est la meilleure ligne à ce jour. Toutes les autres solutions, vous devez taper la ligne une fois de plus chaque jour. C'est vraiment la solution à commande unique. Voir documentation officielle d'ubuntu!

En modifiant les fichiers .conf de ce package dans /etc, vous pouvez définir la fréquence de update, install, clean, autoremove...

Ou simplement et par courrier électronique, y compris Une notification indiquant qu'une mise à jour est disponible avec la liste des noms de packages

Un joli petit fichier journal est généré à chaque changement, et j'imagine qu'un petit script pourrait être écrit sous la forme d'une extension d'interface graphique à afficher dans les notifications sur le bureau (hors sujet haha)

1
not-a-coderp