J'utilise habituellement apt-get update && apt-get upgrade
d'exécuter mes mises à jour et mises à niveau au lieu de l'interface graphique car elle semble fonctionner plus rapidement.
Cependant, j'ai remarqué récemment que je reçois souvent un message indiquant que l'une de mes mises à niveau a été retardée. Je cours habituellement dist-upgrade
pour l'exécuter et cela fonctionne bien. Autant que je sache après avoir lu cette question et ses réponses, dist-upgrade
fait toutes les mêmes choses et ensuite certaines.
Donc, ma question est la suivante: pourquoi utiliser apt-get upgrade
du tout? Pourquoi ne pas utiliser apt-get dist-upgrade
tout le temps? Pourquoi apt-get upgrade
existe même?
Je mets généralement à niveau mes machines avec:
sudo apt-get update && time sudo apt-get dist-upgrade
Ci-dessous un extrait de man apt-get
. L'utilisation de la mise à niveau reste fidèle à la règle: en aucun cas, les packages actuellement installés ne sont supprimés ou les packages ne sont pas déjà installés et récupérés. Si c'est important pour vous, utilisez apt-get upgrade
. Si vous voulez que les choses fonctionnent, vous voulez probablement apt-get dist-upgrade
pour s'assurer que les dépendances sont résolues.
Pour développer pourquoi vous voulez améliorer au lieu de dist-upgrade, si vous êtes administrateur de systèmes, vous avez besoin de prévisibilité. Vous utilisez peut-être des fonctionnalités avancées comme apt épinglant ou en tirant d'une collection de PPA (peut-être avez-vous un PPA interne), avec diverses automatisations en place pour inspecter votre système et les mises à niveau disponibles au lieu de toujours mettre à jour avec impatience tous les packages disponibles. Vous deviendrez très frustré lorsque apt exécute un comportement non scripté, en particulier si cela entraîne un temps d'arrêt d'un service de production.
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
dist-upgrade
dist-upgrade in addition to performing the function of upgrade,
also intelligently handles changing dependencies with new versions
of packages; apt-get has a "smart" conflict resolution system, and
it will attempt to upgrade the most important packages at the
expense of less important ones if necessary. So, dist-upgrade
command may remove some packages. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired package
files. See also apt_preferences(5) for a mechanism for overriding
the general settings for individual packages.
Je sais que cette question a été répondue et a un an, mais je pense que cela doit être dit. Ubuntu 14.04 et versions ultérieures (et Debian Jessie et versions ultérieures, pour ceux qui trouvent cela depuis Google) utilise APT 1.0, qui autorise la commande apt
au lieu de apt-get
et apt-cache
pour certaines opérations.
apt-get upgrade
ne changera pas ce qui est installé (seulement les versions),
apt-get dist-upgrade
va installer ou supprimer des paquets si nécessaire pour terminer la mise à niveau,
apt upgrade
va automatiquement installer mais pas supprimer les paquets.
apt full-upgrade
effectue la même fonction que apt-get dist-upgrade
.
le upgrade
L'option installe uniquement la nouvelle version des packages déjà installés sur le système (et oui, les mises à jour du noyau leur appartiennent).
Cependant, les mises à jour changent parfois de dépendance: par exemple, une nouvelle version d'un package ne dépend plus d'une bibliothèque que vous avez installée ou nécessitera l'installation de bibliothèques supplémentaires. le upgrade
L'option ne supprimera jamais les packages installés dont vous n'avez plus besoin.
Cependant, le dist-upgrade
L'option peut gérer "intelligemment" les modifications du système de dépendances. Cela inclut la suppression des packages qui ne sont plus nécessaires ou la résolution des conflits entre les packages dus aux modifications des dépendances.
Les utilisateurs peuvent se fier aux packages qui ont été installés implicitement en raison d'autres dépendances (explicitement installées) des packages. Ainsi, le système d'empaquetage ne peut pas savoir qu'un utilisateur / administrateur souhaite conserver certaines fonctionnalités qui pourraient être supprimées via dist-upgrade.
Ne devrait pas être un problème pour les utilisateurs Win-Home de toujours "dist-upgrade", mais si vous utilisez des systèmes complexes, vous feriez mieux de "ne jamais (vraiment) changer un système en cours d'exécution" ... Même si " , il pourrait y avoir des problèmes - qu'est-ce qui va vous couper le souffle!
TOI devrait être celui qui a le droit 2 décider ;-)