L'histoire de la différence entre update
et upgrade
est en fait assez cool.
Il y a très longtemps - environ 2000 ans environ, des années avant l'existence d'Ubuntu -, la bande passante et l'espace disque étaient beaucoup plus limités ... bien que vastes par rapport au milieu des années 90. Le haut débit ne faisait que commencer et la connexion par ligne commutée était toujours un moyen essentiel de se connecter. Les gros disques ne faisaient encore que quelques centaines de Mo. Apt était brillant et nouveau, radical et révolutionnaire, construit sur le dessus de dpkg.
La base de données apt, quand on y pense, est une merveille: c'est une base de données précise de la minute de tous les logiciels de tous les référentiels connus. Il est suffisamment détaillé pour pouvoir calculer les dépendances et identifier les mises à niveau disponibles, mais suffisamment petit pour transmettre sur les modems d'accès à distance de l'époque et pour stocker sur les petits disques de l'époque. La mise à jour de votre base de données par téléphone peut prendre quelques minutes avec une bonne connexion. Bien que cela soit long maintenant, la recherche manuelle des mises à jour des packages (avant apt) pourrait consommer des heures .
À l'époque, les distributions étaient construites différemment - pas d'intégration continue, pas de test de fumée (enfin, pas beaucoup de tests du tout!), Les fermes de construction ne faisaient que commencer. Les mises à niveau ont dû être annulées plus souvent que maintenant. De nombreux utilisateurs ont choisi de ne pas mettre à niveau certains packages pour diverses raisons, ou de ne sélectionner que certaines mises à niveau aujourd'hui (pour tester manuellement) et d'autres mises à niveau demain.
Au cours des 15 ou si les années suivantes, les outils ont pas beaucoup changé, ce qui est la raison pour laquelle nous avons encore séparé update
et upgrade
actions. Le flux de travail des utilisateurs a évolué à mesure que la fiabilité des distributions s'est améliorée, et une grande partie de la gestion des sources / mises à jour / mises à niveau qui était autrefois manuelle a été lentement cachée derrière des couches d'automatisation ( software-updater
, unattended-upgrades
).
La modernisation des outils de progiciel est l'une des raisons pour lesquelles Snaps et AppImage et Flatpack sont récemment apparus, mais c'est le chapitre suivant.
alias
. La méthode Unix est une commande qui ne fait qu'une chose de toute façon, donc la séparation correspond mieux à la méthode Unix si les arguments «théologiques / philosophiques» sont aussi votre truc.